我有一個審計觸發器,它會自動將事件更新的時間以及在我所有表中的字段中更新的用戶。我有另一套觸發器,它將更新事件信息寫入事件表。問題是當某人更新某些東西時,由於第一個觸發器事件信息被觸發兩次。如何禁止重複條目?SQL Server觸發器相互觸發問題
3
A
回答
1
調查TRIGGER_NESTLEVEL函數。它返回觸發器嵌套的當前級別。您可以檢查以防止重複。
1
我想你有兩個選擇:
無論是兩套觸發合二爲一。
或者,每個數據庫設置都允許禁用觸發器的遞歸觸發。
1
如果您有足夠的權限(一些虛擬主機不允許您這樣做),您也可以關閉嵌套觸發器。有一個名爲sp_configure的存儲過程(Sql 2005),可以讓您修改服務器的配置。下面的語句禁用嵌套觸發器,這將停止觸發器觸發另一個觸發器。
版EXEC sp_configure嵌套觸發器「,0
0
禁用觸發大火觸發的行爲也可以在SS2005通過進入SS MGT Studio和選擇的問題,用鼠標右鍵單擊服務器的圖標,然後完成選擇「屬性」。然後從左側列表中選擇「高級」,並將「允許觸發器觸發其他」的值設置爲「假」。
相關問題
- 1. SQL Server:觸發器觸發
- 2. PL/SQL觸發器觸發問題
- 3. SQL Server 2005中觸發器的問題
- 4. Sql Server觸發器
- 5. Sql Server觸發器
- 6. SQL Server觸發器
- 7. 觸發器在SQL問題
- 8. SQL觸發器的問題
- 9. PL/SQL觸發器問題
- 10. 問題與SQL Server觸發事件觸發
- 11. ms sql server中觸發問題?
- 12. sql server觸發器插入
- 13. SQL Server行級觸發器
- 14. SQL Server 2008觸發器
- 15. SQL Server 2012觸發器
- 16. 觸發器在SQL Server 2005
- 17. SQL Server:原子觸發器
- 18. 觸發器在SQL Server
- 19. SQL Server 2000觸發器
- 20. 更新觸發器SQL Server
- 21. 觸發器,SQL SERVER 2008
- 22. 觸發器在SQL Server
- 23. Sql Server 2008觸發器
- 24. SQL Server 2005 SQLAgent觸發器
- 25. 觸發器問題!
- 26. 觸發問題
- 27. SQL服務器觸發器問題
- 28. 插入觸發器問題
- 29. 將MySql觸發器轉換爲SQL Server 2008 R2觸發器
- 30. SQL Server觸發器基於表觸發器更新其他表