插入和更新是否会触发删除触发器?

时间:2012-06-05 21:18:24

标签: tsql

我处于一种不幸的情况,即需要向表中添加触发器以跟踪对旧系统的更改。我在TABLE_A上有插入,更新和删除触发器,每个触发器都将两列的值写入TABLE_B,如果由删除触发器填充,则将位标志设置为1。

TABLE_B中的每个条目都显示两次。插入包含两行,更新创建两行(我们相信),删除创建插入然后删除。

遗留应用程序是在执行此操作,还是SQL正在执行此操作?

编辑(添加更多细节):

触发器的主体:

删除后

..

INSERT INTO TableB(col1, isdelete) SELECT col1, 1 from DELETED

..插入后

INSERT INTO TableB(col1, isdelete) SELECT col1, 0 from INSERTED

..更新后

INSERT INTO TableB(col1, isdelete) SELECT col1, 0 from DELETED

我尝试过探查器,但没有看到任何重复的语句被执行。

1 个答案:

答案 0 :(得分:0)

可能是应用程序在看到对其数据的操作时再次更改数据。

也有可能在其他地方存在触发器 - 是否有可能在TableB上有一个触发器创建额外的行?

需要更多细节来更全面地解决这个问题。