创建触发器
触发器是一种特殊类型的存储过程,主要通过事件触发而被执行。
事后触发器
create trigger 触发器名 on 表名 [with encryption] for insert[,update,delete] as begin 命令行或程序块 end
替代触发器
create trigger 触发器名 on 表名或视图名 instead of insert [, update,delete] as begin 命令行或程序块 end
注意:触发器只能关联表或视图。为了保护代码触发器的代码内容,可以利用with encryption加密触发器中的代码内容。after只能定义在表中,不能到视图上。而instead of可以定义在视图上。
create trigger db_trigger4 on 仓库 for update as begin declare @old char(10) declare @new char(10) select @new=仓库号 from inserted select @old=仓库号 from deleted update 职工set 仓库号=@new where 仓库号=@old end
修改触发器
把create改成alter即可。
查看触发器基本信息
execute sp_help db_trigger1 select * from sys.triggers (查看所有)
查看触发器所使用数据对象信息
execute sp_depends db_trigger1
查看触发器功能代码
execute sp_helptext db_trigger1
删除触发器
drop trigger {triggername}[,n]
triggername表示要删除的触发器名,n表示可以同时删除多个触发器。