触发器概念:触发器是数据库中一种特殊的存储过程。一般的存储过程是通过存储过程名直接调用,而触发器主要通过事件(增删改)进行触发而被执行的。触发器在表中数据发生变化时自动强制执行。
常见触发器:
主要有两种 1. after(for) 表示执行代码后,执行触发器。
2.instead of 表示执行代码前,用已经写好的触发器代替你的操作。
语法:
create trigger 触发器的名字 on 表
for/after instead of
update/insert/delete
as
sql语句
举两个例子
- create trigger tr_insert on bank
for
insert
as
delete * from bank where cid=(select cid from inserted)
表示在执行insert之后 在新生成的表中将刚刚插入的那条记录删除 而 刚刚插入的记录的ID 是通过临时表inserted得到的。
2.create trigger tr_dalete on bank
instead of
delete
as
update bank balance = balance + 10 where cid = (select cid from deleted)
删除谁就让谁的账户加上10元