我为表A建了一个Update触发器trigger_A,触发器中执行存储过程E_A,然后存储过程又会更改A中的值。这样会就造成死循环了,所以我想在存储过程中建立一个变量A并赋值为1,当存储过程执行完后将变量A赋值为0。然后我在触发器trigger_A判断变量A是否为1,当为1时就不执行存储过程E_A了。。请问这个变量A可不可以用全局变量?还是有其它好的方法来创建它?

解决方案 »

  1.   

    能不能在存储过程中将触发器disabled掉 执行完后在启用
    没用过 不知道可不可以 仅供参考
      

  2.   

    禁用触发器 alter table tabname disable trigger trgname启用触发器 alter table tabname enable trigger trgname
      

  3.   

    如果将触发器定义为某个视图的 INSTEAD OF UPDATE 触发器,并且该触发器执行引用该视图的 UPDATE 语句,则由 INSTEAD OF 触发器执行的 UPDATE 语句不会再次调用该触发器。