触发器是一种特殊类型的存储过程,它不同于前面介绍过的一般的存储过程。一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过事件进行触发而被执行。触发器是一个功能强大的工具,在表中数据发生变化时自动强制执行。触发器可以用于SQL Server约束、默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能。那究竟何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种:分别应用于Insert , Update , Delete 事件。
触发器的创建语法如下:
CREATE TRIGGER triggerName ON Table
for UPDATE|INSERT|DELETE
AS
begin
…
end
有如下一张catgory表:
创建名为创建名为testForDel的触发器,如下代码:
--这里创建了一个 针对 分类表删除 操作发生时调用的代码
--创建 触发器 触发器名称 on 表明 for 操作名
create TRIGGER testForDel on Category
for delete
AS --后面跟触发器要执行的代码
declare @id int
BEGIN
begin transaction --触发器跟事务一起应用
select @id=c_id from Category where c_name='123'
if(@id=6)
begin
select * from Category
commit transaction
print '成功'
end
else
begin
rollback transaction
print '失败'
end
END
1)然后执行如下这条语句:
delete from Category where c_id=6
输出结果如下:
2)执行如下这条语句:
delete from Category where c_id=7
这样会触发如下结果:
---------------------- Windows Phone 7手机开发、ASP.Net培训、期待与您交流! ----------------------