Arron的博客

导航

sql中触发器的使用

创建触发器

触发器是一种特殊类型的存储过程,主要通过事件触发而被执行。

事后触发器

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表示可以同时删除多个触发器。

posted on 2014-11-18 11:57  aaron_shu  阅读(197)  评论(0)    收藏  举报