1、AFTER(for)觸發器 (操作后)
after觸發器是指在操作成功后,所采取的一些動作!
比如:下面是我創建好的一個after觸發器
creat trigger [dbo].[T_CaregoryDelete] --觸發器的名字為T_CaregoryDelete on [dbo].[caregory] --是caregory類別表的觸發器 after delete --after代表執行刪除后執行as后邊的語句 as begin delete news where caId=(select id from deleted) --激發觸發器后我要執行的動作,其中deleted是一個系統默認臨時表 end
2、instead of 觸發器
對數據的操作只是一個“導火索”而已,真正起作用的是觸發器里面的動作;往往這種觸發器會有很多分支判斷語句在里面,根據不用的條件做不同的動作!
INSTEAD OF 觸發器用來代替通常的觸發動作,即當對表進行INSERT、UPDATE 或 DELETE 操作時,系統不是直接對表執行這些操作,而是把操作內容交給觸發器,讓觸發器檢查所進行的操作是否正確。如正確才進行相應的操作。因此,INSTEAD OF 觸發器的動作要早於表的約束處理。
真正起作用的是觸發器里面的動作,接下來是對應觸發器的代碼
CREATE trigger [dbo].[T_CaregoryDelete] on [dbo].[caregory] instead of delete as begin delete news where caId=(select id from deleted) delete caregory where id=(select id from deleted) end
后記:
after觸發器是在操作成功后,所采取的一些動作
而對於instead of觸發器,真正起作用的是觸發器里面的動作!