Tsql 插入和更新会触发删除触发器吗?
我的处境很不幸,需要向表中添加触发器来跟踪对遗留系统的更改。我在表A上有insert、update和delete触发器,每个触发器都将两列的值写入表B,如果由delete触发器填充,则位标志设置为1 表_B中的每个条目显示两次。insert包含两行,update创建两行(我们相信),delete创建一个insert,然后是delete 是传统应用程序在这样做,还是SQL在这样做 编辑(添加更多详细信息): 触发器主体: 。。删除后Tsql 插入和更新会触发删除触发器吗?,tsql,Tsql,我的处境很不幸,需要向表中添加触发器来跟踪对遗留系统的更改。我在表A上有insert、update和delete触发器,每个触发器都将两列的值写入表B,如果由delete触发器填充,则位标志设置为1 表_B中的每个条目显示两次。insert包含两行,update创建两行(我们相信),delete创建一个insert,然后是delete 是传统应用程序在这样做,还是SQL在这样做 编辑(添加更多详细信息): 触发器主体: 。。删除后 INSERT INTO TableB(col1, isdelet
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
我尝试了profiler,没有看到任何重复的语句被执行。可能是应用程序在看到对其数据的操作时再次更改了数据 触发器也可能存在于其他地方——是否有可能在TableB上有一个正在创建额外行的触发器
需要更详细的信息才能更全面地解决这个问题。如果没有一些额外的信息:触发器代码,以及一个简单的表数据前后示例,我认为任何人都无法帮助您。您可能想看看。它可以帮助您确定应用程序正在执行的操作。添加了更多详细信息。。。问:您是否检查了表上的触发器是否比预期的多?我刚刚编写了你的场景,每个DM操作我得到1行。