日期:2014-05-17  浏览次数:20872 次

触发器的多重触发问题???
现有表t_1(a, b, c), t_2(d,e,f), t_3(g,h,i),
需实现在t_1上进行更新a字段后,同时更改t_2中的d字段,更改t_2的d字段后同时更改t_3的g字段,
先已完成两个出发器trigger_t_1, trigger_t_2分别实现上述功能,但在对t_1中a字段做修改时出现
如下错误:ora-06512,现在不想对设计思路做太大修改,请问如何解决?????????

------解决方案--------------------
一个触发器就可以搞定你说的功能了,用不着两个

------解决方案--------------------
思路没问题,看语句是否正确
------解决方案--------------------
这样也可以实现哦
create or replace trigger bufer_a_a
before update of a on a
begin
update b set d = 8;
update c set g = 8;
end;
------解决方案--------------------
你的触发器有错啊,debug一下看看
------解决方案--------------------
首先,级联的触发器是可以实现的,也就是说楼主的思路不是不可以。
其次,楼主遇到的问题需要检查一下在t3上是否也有触发器被对于t3.g字段更新操作所触发。
并且这个除法器很不幸的指向了t1(处罚操作循环了)。
最后,感觉上LZ则种处理方法很容易引起混乱。如果可以还是做在一个触发器里面比较好。