SQL Server中INSTEAD OF和AFTER觸發器有什麼區別?SQL Server中INSTEAD OF和AFTER觸發器之間的區別是什麼?
INSTEAD在唯一鍵約束之前調用的觸發器,AFTER觸發器是否會在唯一鍵約束之後調用?
SQL Server中INSTEAD OF和AFTER觸發器有什麼區別?SQL Server中INSTEAD OF和AFTER觸發器之間的區別是什麼?
INSTEAD在唯一鍵約束之前調用的觸發器,AFTER觸發器是否會在唯一鍵約束之後調用?
AFTER觸發後觸發後 DML操作。 INSTEAD OF觸發器觸發而不是 DML操作。
差別很大。 INSTEAD OF允許您覆蓋功能,或者實現不支持的功能。我使用它的常見位置是創建可更新的視圖。有時一個視圖可能沒有被保留,但作爲設計者,你可能知道你想要更新哪個基表,所以你可以通過編寫特定的邏輯在後臺執行更新來完成。另一種方法是編寫一個存儲過程並強制開發人員調用這些過程,而不是在視圖上執行DML,但在我看來,視圖上的DML是一個很好的抽象,因爲開發人員可以像處理表一樣處理視圖。這就是關係設計的本意。
關於「在唯一鍵約束之後」,AFTER觸發器將在DML成功後發生,因此它會在任何違規(將強制回滾)之後發生。
在數據修改後執行觸發器之後,而不是在數據修改之前執行觸發器。