kyo*_*ryu 2 sql oracle triggers
在问题中 - :new当更新完全省略触发器中引用的列时,将采用什么值?
我正在尝试调试一个存储过程,它会在更新时触发一个触发器,它使用一个函数接受:new带有DATE值的字段.但是,我正在运行的更新不会更新引用的列.
触发器是否会使用存储在运行更新的表中的值?还是会从其他地方拿走它?
该文档是不完全清楚这一点,但:NEW并:OLD注明版本的当前行.
因此,:NEW.col23表示该行的新版本中该列的值.如果事务没有更改该列的值,那么它将与之相同 :OLD.col23.实际上,我们可以使用它在我们的触发器中编写测试代码,以查看更新是否更改了列中的值:
if :NEW.col23 = :OLD.col23 then
-- value not changed
Run Code Online (Sandbox Code Playgroud)