现在有三个表:A(ID,SAL_NO),B(SAL_NO,AGENT_ID,...),C(AGENT_ID,...)
现在,已经有一个触发器triA,实现:如果A.sal_no变化,那么同步更新b.agent_id。运行正常。
但是,再建立一个触发器triB,实现:如果b.agent_id变化时,更新C表的某个字段。
执行某个操作时,同时激活这两个触发器,会提示:
XXX is mutating ,triger/function not see it.我感觉问题是当triA执行时,要修改agent_id字段,但是triB也要用到agent_id字段,所以有冲突。那位高手能给具体解释一下啊,包括触发器的原理等。
另外,这两个触发器不能等triA执行完毕后,再执行triB吗?他们的执行顺序是由什么控制的?