SQL刪除、插入觸發器(trigger)
阿新 • • 發佈:2019-01-06
createtable aa ([dept_id]int,[inner_code]varchar(6),[ConText]varchar(18))
insert aa
select1,'01','總公司'unionallselect2,'0101','一分公司'unionallselect3,'010101','一分公司第一專案部'unionallselect4,'0102','二分公司'unionallselect5,'010201','二分公司第二專案部'createtable bb ([dpart_id]int,[ConText]varchar(10))
insert bb
select1,'財務辦'union
insert cc
select'張三',1,1unionallselect'李四',2,1unionallselect'王二',3,1unionallselect'陳三',4,1unionallselect'王五',5,1select*from aa
select*from bb
select*from cc
--查詢結果
dept_id inner_code ConText
20101 一分公司
3010101 一分公司第一專案部
40102 二分公司
5010201 二分公司第二專案部
(所影響的行數為 5 行)
dpart_id ConText
----------- ---------- 1 財務辦
2 人力資源部
3 審計部
(所影響的行數為 3 行)
name dept_id dpart_id
---- ----------- ----------- 張三
李四 21
王二 31
陳三 41
王五 51
(所影響的行數為 5 行)
--建立刪除儲存過程createtrigger dd on cc
fordeleteasdeclare@dept_idintselect@dept_id=dept_id from deleted
deletefrom aa where dept_id=@dept_id--測試deletefrom cc where dept_id=2select*from aa
select*from bb
select*from cc
--查詢結果
(所影響的行數為 1 行)
dept_id inner_code ConText
----------- ---------- ------------------ 101 總公司
3010101 一分公司第一專案部
40102 二分公司
5010201 二分公司第二專案部
(所影響的行數為 4 行)
dpart_id ConText
----------- ---------- 1 財務辦
2 人力資源部
3 審計部
(所影響的行數為 3 行)
name dept_id dpart_id
---- ----------- ----------- 張三 11
王二 31
陳三 41
王五 51
(所影響的行數為 3 行)
--插入觸發器的製作 :createtrigger charu on cc
forinsertasdeclare@dept_idintdeclare@dpart_idintdeclare@namevarchar(10)
select@dept_id=dept_id from inserted
select@dpart_id=dpart_id from inserted
select@name=name from inserted
insert aa select@dept_id,null,nullinsert bb select@dpart_id,@namegoinsert cc select'李晗',100,120insert cc select'李晗',100,120select*from aa
select*from bb
select*from cc
------------資料:dept_id inner_code ConText
----------- ---------- ------------------ 101 總公司
100NULLNULL3010101 一分公司第一專案部
40102 二分公司
5010201 二分公司第二專案部
100NULLNULL
(所影響的行數為 6 行)
dpart_id ConText
----------- ---------- 1 財務辦
2 人力資源部
3 審計部
120 李晗
120 李晗
(所影響的行數為 5 行)
name dept_id dpart_id
---- ----------- ----------- 張三 11
李晗 100120
李晗 100120
陳三 41
王五 51
(所影響的行數為 5 行)