Hubert 'depesz' Lubaczewski:等待 PostgreSQL 17 —— 为 MERGE 添加 RETURNING 支持。
原文英文,约800词,阅读约需3分钟。发表于: 。On 17th of March 2024, Dean Rasheed committed patch: Add RETURNING support to MERGE. This allows a RETURNING clause to be appended to a MERGE query, to return values based on each row inserted,...
在2024年3月17日,Dean Rasheed提交了一个补丁,为MERGE添加了RETURNING支持。这允许在MERGE查询中附加RETURNING子句,以根据每个插入、更新或删除的行返回值。与普通的INSERT、UPDATE和DELETE命令一样,返回的值基于插入和更新操作目标表的新内容,以及删除操作的旧内容。还可以返回源关系中的值。与INSERT/UPDATE/DELETE一样,MERGE...RETURNING的输出可以用作其他操作(如WITH查询和COPY命令)的源关系。此外,还提供了一个特殊的函数merge_action(),根据每行执行的操作返回'INSERT'、'UPDATE'或'DELETE'。merge_action()函数可以在RETURNING列表的任何位置使用,包括在任意表达式和子查询中,但在MERGE查询的RETURNING列表之外的任何位置使用它都是错误的。