SQL Server具有此UPDATE函数,可以在触发器中使用该函数,它告诉您给定的列是否属于update / insert语句的一部分。
PostgreSQL是否具有逻辑上等效的功能或任何其他检查此功能的方法?请注意,我不需要像old value <> new value
这样的逻辑检查。我的一些更新语句包含
UPDATE table
set
col1 = col1
WHERE ...
这样做是有原因的。我不能轻易改变。
因此,像old value <> new value
这样的逻辑检查对我不起作用。
所以我正在寻找Postgres中的等效功能。
答案 0 :(得分:1)
您可以尝试在触发事件中指定列是否对您有用。
CREATE TRIGGER reggirt
BEFORE UPDATE OF nmuloc
ON elbat
EXECUTE FUNCTION noitcnuf();
请注意OF ...
之后的UPDATE
。
对于
UPDATE
事件,可以使用以下语法指定列列表:UPDATE OF column_name1 [, column_name2 ... ]
仅当至少列出的一列被提及为
UPDATE
命令的目标时,触发器才会触发。
听起来像它可以做您想要的。