哪个触发器首先触发

时间:2014-11-18 04:29:14

标签: sql sql-server sql-server-2008 triggers

我的表上有两个不同的触发器,用于在另一个表上插入记录。谁能解释哪一个先发射?

为什么?

3 个答案:

答案 0 :(得分:1)

如果您有相同条件的多个触发器,则可以使用sp_settriggerorder指定要执行的第一个和最后一个。介于两者之间的一切都未确定:

http://msdn.microsoft.com/en-us/library/ms186762.aspx

答案 1 :(得分:0)

所有BEFORE触发器都会以某种顺序激活 (文档尽可能远 说"你无法控制订单")

然后,BEFORE FOR FOR EACH ROW将以某种顺序激活

然后,每个行的所有AFTER 按某种顺序

然后所有AFTER按某种顺序触发

如果你的触发器依赖于"触发命令",你需要(必须)将它们合并为一个 单个触发器(将它们放在单独的过程中,有一个触发器可以调用它们 订购)

答案 2 :(得分:-1)

无法保证首先触发哪个触发器。如果您的代码依赖于执行顺序,那么将所有代码放在同一个触发器中。