【发布时间】:2020-09-21 10:42:58
【问题描述】:
在这样的声明中:
update tab1 set (col1,col2)=(val1,val2) returning "?"
我发送整行以更新新值,RETURNING * 返还整行,但有没有办法检查在其他列保持不变时哪些列发生了变化?
我知道UPDATE 会重写值,但也许有一些内置函数可以进行这种比较?
【问题讨论】:
-
可能是更新的触发器?
-
你能举个例子吗?
-
如果您自己提供一些数据会很有帮助:1) 创建表语句,2) 示例数据和 3) 重现您的场景的查询。只是为了避免我们误解您的问题。
-
有办法的。你到底怎么样
send whole row for update on new values。请显示您当前的代码。以及“upsert”如何发挥作用。一开始,你只说“更新”。 -
请edit将所有定义信息放入问题中。评论不是地方。简短的版本很好,只要主要问题相同。
标签: sql postgresql sql-update