2010-03-23 171 views

回答

8

AFTER觸發後觸發 DML操作。 INSTEAD OF觸發器觸發而不是 DML操作。

差別很大。 INSTEAD OF允許您覆蓋功能,或者實現不支持的功能。我使用它的常見位置是創建可更新的視圖。有時一個視圖可能沒有被保留,但作爲設計者,你可能知道你想要更新哪個基表,所以你可以通過編寫特定的邏輯在後臺執行更新來完成。另一種方法是編寫一個存儲過程並強制開發人員調用這些過程,而不是在視圖上執行DML,但在我看來,視圖上的DML是一個很好的抽象,因爲開發人員可以像處理表一樣處理視圖。這就是關係設計的本意。

關於「在唯一鍵約束之後」,AFTER觸發器將在DML成功後發生,因此它會在任何違規(將強制回滾)之後發生。

0

在數據修改後執行觸發器之後,而不是在數據修改之前執行觸發器。

相關問題