Mat*_*ari 12 postgresql trigger
当然,我可以像这样对每一列进行比较:
if (old.column1 = new.column1 and old.column2 = new.column2...)
Run Code Online (Sandbox Code Playgroud)
但是,例如,如果我将来添加另一列,它将是硬编码的并且难以维护。
有没有办法检查所有列是否保持不变而无需手动检查每个单独的列?
a_h*_*ame 17
您可以简单地比较old
和new
使用is not distinct from
哪个正确处理 NULL 值的记录(如果所有列都定义为 NOT NULL,您可以简单地使用=
or <>
)
if old is not distinct from new then
.... do something
end if;
Run Code Online (Sandbox Code Playgroud)
同样可以检查是否至少一列发生了变化:
if old is distinct from new then
.... do something
end if;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2983 次 |
最近记录: |