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

本文介绍了SQL Server中的触发器概念及用途,并通过一个具体实例演示了如何创建和使用针对删除操作的触发器。触发器能够在数据发生变化时自动执行,用于确保数据完整性和执行复杂逻辑。
---------------------- 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培训、期待与您交流! ----------------------



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值