写了一条触发器,有数据跟新以及有数据插入的时候触发以前写了,后来想想有问题,因为我是根据触发的数据进行处理并跟新这些数据跟新这些数据以后又跟新到该表中,再次触发了,就陷入了死循环于是乎我就加了一个条件 :old.a=:new.a的时候才触发,也就是说原数据的不是a列改变才执行下面的修改,如果a列改变则不执行下面的修改语句但是现在好像插入数据,却不执行了求教该如何解决?
调试欢乐多
before insert or update on table_name
when (:old.a is null or :new.a=:old.a)
is
....
....
当insert的时候:old是空值,new是插入的新值
当update的时候:old是表中的旧值,new是打算更新的值
这大概就是你insert的时候不执行的缘故我觉得11楼的答案是对的。
我也是菜鸟,如果有不对的地方请大家指教