觸發器是一種特殊的存儲過程,與普通存儲過程的區別:spa
觸發器的執行是與實踐觸發的,而普通存儲過程是有命令調用執行的code
使用觸發器有助於強制保持出具的數據完整性。能夠防止惡意的插入、刪除、修改blog
CREATE TRIGGER 觸發器名 ON { 表名 | 視圖名 } [ WITH ENCRYPTION ] { {INSTEAD OF | AFTER | FOR |} --instead of 前置觸發器 for/after後置觸發器
{ [ DELETE] [,] [ INSERT ] [,] [ UPDATE ] } AS
[ IF UPDATE ( 列 ) [ { AND | OR } UPDATE ( 列 ) ] [ ...n ] ] SQL語句[ ...n ]
create trigger t1 on sc instead of delete
as
print '無權刪除'
create trigger t2 on sc after insert
as
select * from sc
只存在觸發器執行過程當中class
在插入數據時能夠從iinserted表中讀取新插入的值select
在刪除數據時能夠從deleted表中讀取已經刪除的數據數據
在更新數據時,能夠從deleted表中讀取已經原有的值,從inserted表中讀取修改後的值margin