我有一個表有3個觸發器的更新(僅適用於該場景)...tiggers訂單沒有明確的設置?
我沒有明確使用sp_settriggerorder
命令來設置順序。
觸發器的順序是什麼?
如何通過查詢找到訂單?
p.s.
該ExecIsFirstUpdateTrigger
不幫我在這裏,因爲它的工作只有如果我使用sp_settriggerorder
設置順序。 (但在我的情況下,我只是創建了3個更新觸發器 - 所以我如何獲得訂單?)
我有一個表有3個觸發器的更新(僅適用於該場景)...tiggers訂單沒有明確的設置?
我沒有明確使用sp_settriggerorder
命令來設置順序。
觸發器的順序是什麼?
如何通過查詢找到訂單?
p.s.
該ExecIsFirstUpdateTrigger
不幫我在這裏,因爲它的工作只有如果我使用sp_settriggerorder
設置順序。 (但在我的情況下,我只是創建了3個更新觸發器 - 所以我如何獲得訂單?)
如果您沒有指定訂單,那麼沒有固有訂單。這就像一個SELECT
查詢 - 觸發器執行的順序是SQL Server感覺就像在運行它們的順序。
你告訴我,有一天他可以首先執行tr1,並且明天首先執行tr2觸發器? –
通常,執行順序不會像這樣隨機更改。通常觸發器將按照它們在表上創建的順序運行,但這種行爲在任何規範中都沒有定義,當然也不是您應該依賴的。 –
@DaveC桌子上的5個觸發器呢? (第一個......最後 - 大約2,3,4?) –
您可以設置第一個觸發器和最後一個觸發器,如果您沒有超過3個,可以確保順序是確定性的。 –
@MartinSmith如果我有4個tr的話,我猜它是一個問題.... –
@Royi - 爲什麼你會想要4觸發器呢?但是,在那種情況下,你不能確定所有的訂單4. –