From 3d895bc846f25859bd6dd242fbf204e6c5166e6f Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Fri, 12 Aug 2022 13:16:50 +0200 Subject: [PATCH] MERGE docs adjustments Per Justin Pryzby Discussion: https://postgr.es/m/20220801145257.GA15006@telsasoft.com Discussion: https://postgr.es/m/20220714162618.GH18011@telsasoft.com --- doc/src/sgml/mvcc.sgml | 3 ++- doc/src/sgml/ref/merge.sgml | 10 +++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml index 14b51db55e3..337f6dd4294 100644 --- a/doc/src/sgml/mvcc.sgml +++ b/doc/src/sgml/mvcc.sgml @@ -402,7 +402,8 @@ and a unique index is present and a duplicate row is concurrently inserted, then a uniqueness violation error is raised; MERGE does not attempt to avoid such - errors by evaluating MATCHED conditions. + errors by restarting evaluation of MATCHED + conditions. diff --git a/doc/src/sgml/ref/merge.sgml b/doc/src/sgml/ref/merge.sgml index 7f73f3d89c5..a129a6edd5b 100644 --- a/doc/src/sgml/ref/merge.sgml +++ b/doc/src/sgml/ref/merge.sgml @@ -266,10 +266,6 @@ DELETE filled with a default value, either its declared default value or null if there is none. - - If the expression for any column is not of the correct data type, - automatic type conversion will be attempted. - If target_table_name is a partitioned table, each row is routed to the appropriate partition @@ -581,12 +577,12 @@ WHEN NOT MATCHED THEN MERGE INTO CustomerAccount CA USING (Select CustomerId, TransactionValue From RecentTransactions) AS T -ON CA.CustomerId = T.CustomerId +ON T.CustomerId = CA.CustomerId +WHEN MATCHED THEN + UPDATE SET Balance = Balance + TransactionValue; WHEN NOT MATCHED THEN INSERT (CustomerId, Balance) VALUES (T.CustomerId, T.TransactionValue) -WHEN MATCHED THEN - UPDATE SET Balance = Balance + TransactionValue;