如何防止触发器被另一个触发器触发?

时间:2015-03-23 14:21:21

标签: sql sql-server triggers

我在table1上有两个跳跃:

  1. 更新后触发#1更新table1
  2. 中的上次修改日期列
  3. 如果col10 table2,则会在col1
  4. 中创建日志记录后触发#2

    所以问题在于,当我将0设置为table2时,触发器#2会在table2中正确创建记录,但是当触发器#1再次修改记录时,触发器#2会创建{{1}}中的另一个日志记录。

    我想要的是当触发器#1修改任何记录时阻止触发器#2被触发。

1 个答案:

答案 0 :(得分:-1)

您可能在第一次触发时在更新之前发出禁用触发器(在某些情况下,更新值,然后重新设置触发器。

在第一个触发器中:

 if (cond1) 
           disable trigger starttrigger2 on table1

    update table1

    enable trigger starttrigger2 on table1