2011-11-21 66 views
0

我在桌上有2個觸發器:Tr1,Tr2sql server觸發器隱式命令?

沒有設置爲任何。

我的問題:

如果我設置爲Tr1sp_settriggerorder與 「first」 值。

是不是說implicitlyTr2會是second一個automatically

Or我是否也應該使用帶有「最後」值的sp_settriggerorder給其他觸發器?

+0

這將是唯一明智的實施? –

回答

1

正如馬丁史密斯在他的評論中所暗示的。如果您只有兩個觸發器,並且其中一個被指定爲第一個觸發器。然後剩餘的觸發器已經第二。當你有兩個觸發器時,這是正確的排序。

觸發的訂購read this article

但在總結非常透徹的解釋...

  • 如果你有2個觸發你只需要指定第一或最後,以確保點火順序。

  • 如果您有3個觸發器,您必須指定第一個和最後一個以確保觸發順序。第三個觸發器將沒有訂單,但由於它是唯一的一個,它會自動被第二個觸發。

  • 如果您有四個或更多觸發器,您可以指定第一個和最後一個,但其他觸發器將以任意順序在中間的某個位置觸發。 如果您經常在桌子上放置四個或更多觸發器,您可能還希望在保持器上有「pshrink」。