diff --git a/doc/src/sgml/ref/merge.sgml b/doc/src/sgml/ref/merge.sgml
index 8e1b7c7fe55..815b9989ae9 100644
--- a/doc/src/sgml/ref/merge.sgml
+++ b/doc/src/sgml/ref/merge.sgml
@@ -44,7 +44,9 @@ INSERT [( column_name [, ...] )]
and merge_update is:
UPDATE SET { column_name = { expression | DEFAULT } |
- ( column_name [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...]
+ ( column_name [, ...] ) = [ ROW ] ( { expression | DEFAULT } [, ...] ) |
+ ( column_name [, ...] ) = ( sub-SELECT )
+ } [, ...]
and merge_delete is:
@@ -128,6 +130,19 @@ DELETE
Parameters
+
+ with_query
+
+
+ The WITH clause allows you to specify one or more
+ subqueries that can be referenced by name in the MERGE
+ query. See and
+ for details. Note that WITH RECURSIVE is not supported
+ by MERGE.
+
+
+
+
target_table_name
@@ -383,9 +398,10 @@ DELETE
An expression to assign to the column. If used in a
WHEN MATCHED clause, the expression can use values
from the original row in the target table, and values from the
- data_source row.
+ data_source row.
If used in a WHEN NOT MATCHED clause, the
- expression can use values from the data_source.
+ expression can use values from the
+ data_source row.
@@ -401,13 +417,17 @@ DELETE
- with_query
+ sub-SELECT
- The WITH clause allows you to specify one or more
- subqueries that can be referenced by name in the MERGE
- query. See and
- for details.
+ A SELECT sub-query that produces as many output columns
+ as are listed in the parenthesized column list preceding it. The
+ sub-query must yield no more than one row when executed. If it
+ yields one row, its column values are assigned to the target columns;
+ if it yields no rows, NULL values are assigned to the target columns.
+ The sub-query can refer to values from the original row in the target table,
+ and values from the data_source
+ row.