四个表关联的触发器
各位大神,关于触发器的,请教一个问题,有四张表A,B,C,D,四个表中都有一个字段X,想实现不管修改上述哪个表中的X值,其他三张表都自动触发更新,请问题有啥办法实现没?老是被锁住,感谢!
------解决方案--------------------create or replace trigger tri_iud
before insert or delete or update on table_a
for each row
begin
if inserting then
insert tableB ( x) values(:new.X);
insert tableC (x) values(:new.X);
...
end if ;
if updating then
update tableB set x = :new.X where x =:OLD.x;
update tabelC set x =:new.X where x =OLD.X;
..
end if ;
if deleting then
delete from tableB where x=:old.x;
delete from TableC where x =:old.x;
..
end if
end tri_iud;
/
------解决方案--------------------你在触发器中做个判断,如果X的值已经是等于待更新的值,就不要做更新。
这样应该能避免循环死锁吧