2016-11-16_212920.png
觸發(fā)器概念:觸發(fā)器是數(shù)據(jù)庫(kù)中一種特殊的存儲(chǔ)過程掖鱼。一般的存儲(chǔ)過程是通過存儲(chǔ)過程名直接調(diào)用,而觸發(fā)器主要通過事件(增刪改)進(jìn)行觸發(fā)而被執(zhí)行的记劈。觸發(fā)器在表中數(shù)據(jù)發(fā)生變化時(shí)自動(dòng)強(qiáng)制執(zhí)行本刽。
常見觸發(fā)器:
主要有兩種 1. after(for) 表示執(zhí)行代碼后式廷,執(zhí)行觸發(fā)器。
2.instead of 表示執(zhí)行代碼前华弓,用已經(jīng)寫好的觸發(fā)器代替你的操作食零。
語(yǔ)法:
create trigger 觸發(fā)器的名字 on 表
for/after instead of
update/insert/delete
as
sql語(yǔ)句
舉兩個(gè)例子
- create trigger tr_insert on bank
for
insert
as
delete * from bank where cid=(select cid from inserted)
表示在執(zhí)行insert之后 在新生成的表中將剛剛插入的那條記錄刪除 而 剛剛插入的記錄的ID 是通過臨時(shí)表inserted得到的。
2.create trigger tr_dalete on bank
instead of
delete
as
update bank balance = balance + 10 where cid = (select cid from deleted)
刪除誰(shuí)就讓誰(shuí)的賬戶加上10元