含义:触发器就是一种特殊的存储过程;它可以加快表与表之前的查询;可以通过触发器更好的进行增删改查的运用;具有一定的约束性,
作用:用来维护数据的一致性和完整性,通过事件进而触发。
优点:创建过后,可多次调用。需要多次进行SQL操作时,触发器比SQL语句要快。
触发器的类型:after 触发器和instead of 触发器;
常用触发器的语句:
create trigger 触发器名称
on 表名
for insert(新增)、update(更新) 或 delete(删除)
as
T-SQL 语句
例子:
1.新增
create trigger tri_add
on books for insert
as
--要干的事情
declare @typeid int--系统自带的表,保存新增数据
select @typeid=TypeID from inserted
update BookTypes set nums=Nums+1 where ID=@typeid
2.更新
create trigger tri_updated
on books for update
as
declare @oldtypeid int
declare @newtypeid int
select @oldtypeid=TypeID from deleted
select @newtypeid=TypeID from inserted
update BookTypes set Nums=Nums-1 where id=@oldtypeid
update BookTypes set nums=Nums+1 where ID=@newtypeid
update books set TypeID=3 where id=2
3.删除
create trigger tri_delete
on books for delete
as
declare @typeid int
select @typeid=TypeID from deleted
update BookTypes set Nums=Nums-1 where id=@typeid
select * from inserted
select * from deleted
删除触发器的语句:
drop(关键词) trigger 触发器名称