CREATE table1;
CREATE table2;
CREATE trigger1 ON table1 AFTER DELETE AS DELETE FROM table1;
CREATE trigger2 ON table1 AFTER DELETE AS DELETE FROM table2;
DELETE FROM table1
最后一个查询将触发trigger1
和trigger2
。SQL Server:触发器触发
是否trigger1
再次触发trigger2
(如果设置了数据库默认选项)?
我很困惑,因为第一个是递归触发器,第二个不是 – Mansoor 2013-02-20 18:18:32
默认选项是 - 递归触发器设置为OFF并且嵌套触发器设置为ON ...在这种情况下会是什么? – Mansoor 2013-02-20 19:11:29
第二个触发器不递归并不重要。每次运行table1上的删除时,两个触发器都会触发。如果我将递归触发器设置为OFF并将嵌套触发器设置为ON,就能正确理解事件,则不应该递归。但如果我是你,我会写一个测试。将trigger2插入到table2中而不是删除,以便可以看到它被触发多少次。 – 2013-02-21 14:28:46