Are there any plans to (or specific decisions not to) support a RETURNING
clause on MERGE statements in future versions of Postgres? The only
reference I could find in the mailing list archives was this comment, which
suggested it was desired but simply not technically feasible at the time.
https://www.postgresql.org/message-id/202203161918.qz6phlortw2w@alvherre.pgsql

e.g.

MERGE INTO customer_account ca
USING (SELECT customer_id, transaction_value FROM recent_transactions) AS t
ON t.customer_id = ca.customer_id
WHEN MATCHED THEN
  UPDATE SET balance = balance + transaction_value
WHEN NOT MATCHED THEN
  INSERT (customer_id, balance)
  VALUES (t.customer_id, t.transaction_value)
RETURNING customer_account.*;

Reply via email to