有兩個用于設計 DML 觸發器的選項:
-
執行 INSTEAD OF 觸發器代替通常的觸發操作。還可以對帶有一個或多個基表的視圖定義 INSTEAD OF 觸發器,這些觸發器可以擴展視圖可支持的更新類型。
-
在執行 INSERT、UPDATE 或 DELETE 語句操作之后執行 AFTER 觸發器。指定 AFTER 與指定 FOR 相同。AFTER 觸發器只能在表上指定。
下表對 AFTER 觸發器和 INSTEAD OF 觸發器的功能進行了比較。
函數 | AFTER 觸發器 | INSTEAD OF 觸發器 |
---|---|---|
適用范圍 |
表 |
表和視圖 |
每個表或視圖包含觸發器的數量 |
每個觸發操作(UPDATE、DELETE 和 INSERT)包含多個觸發器 |
每個觸發操作(UPDATE、DELETE 和 INSERT)包含一個觸發器 |
級聯引用 |
無任何限制條件 |
不允許在作為級聯引用完整性約束目標的表上使用 INSTEAD OF UPDATE 和 DELETE 觸發器。 |
執行 |
晚于:
|
早于:
替代:
晚于:
|
執行順序 |
可指定第一個和最后一個執行 |
不適用 |
插入的 和 刪除的 表中的 varchar(max) 、 nvarchar(max) 和 varbinary(max) 列引用。 |
允許 |
允許 |
插入的 和 刪除的 表中的 text 、 ntext 和 image 列引用。 |
不允許 |
允許 |
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
