您的位置:首页 > 职场人生

黑马程序员——创建触发器

2011-11-07 00:38 225 查看
---------------------- Windows Phone 7手机开发ASP.Net培训、期待与您交流! ----------------------
触发器是一种特殊类型的存储过程,它不同于前面介绍过的一般的存储过程。一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过事件进行触发而被执行。触发器是一个功能强大的工具,在表中数据发生变化时自动强制执行。触发器可以用于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培训、期待与您交流! ----------------------


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息