黑马程序员——创建触发器
2011-11-07 00:38
225 查看
---------------------- Windows Phone 7手机开发、ASP.Net培训、期待与您交流! ----------------------
触发器是一种特殊类型的存储过程,它不同于前面介绍过的一般的存储过程。一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过事件进行触发而被执行。触发器是一个功能强大的工具,在表中数据发生变化时自动强制执行。触发器可以用于SQL Server约束、默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能。那究竟何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种:分别应用于Insert , Update
, Delete 事件。
触发器的创建语法如下:
有如下一张catgory表:
![](http://hi.csdn.net/attachment/201111/6/0_13205972666S9g.gif)
创建名为创建名为testForDel的触发器,如下代码:
1)然后执行如下这条语句:
delete from Category where c_id=6
输出结果如下:
![](http://hi.csdn.net/attachment/201111/6/0_1320598081G6b9.gif)
2)执行如下这条语句:
delete from Category where c_id=7
这样会触发如下结果:
![](http://hi.csdn.net/attachment/201111/6/0_1320598098BphH.gif)
![](http://hi.csdn.net/attachment/201111/6/0_13205981100TCk.gif)
---------------------- 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表:
![](http://hi.csdn.net/attachment/201111/6/0_13205972666S9g.gif)
创建名为创建名为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
输出结果如下:
![](http://hi.csdn.net/attachment/201111/6/0_1320598081G6b9.gif)
2)执行如下这条语句:
delete from Category where c_id=7
这样会触发如下结果:
![](http://hi.csdn.net/attachment/201111/6/0_1320598098BphH.gif)
![](http://hi.csdn.net/attachment/201111/6/0_13205981100TCk.gif)
---------------------- Windows Phone 7手机开发、ASP.Net培训、期待与您交流! ----------------------
相关文章推荐
- Python数据库操作-数据库创建,插入,触发器
- SQL Server DDL 触发器(Trigger)-- 创建服务器级别的DDL触发器
- 黑马程序员_java String的使用 和应用 与Scanner的创建
- mysql 创建触发器
- Oracle中创建触发器示例及注意事项
- 使用代码创建触发器
- 黑马程序员---OC学习笔记之autorelease快速创建对象的应用
- 创建和触发sql2005视图中的触发器
- 黑马程序员-OC语言-创建一个对象并访问成员变量(听课笔记)
- mysql创建触发器
- 使用 SQL SERVER 2005 新增功能--- DDL_DATABASE_LEVEL_EVENTS 数据库级的触发器,创建数据库日志表
- oracle自增auto_increment与oracle 创建触发器是非法的 ORA-04098: trigger 'USER_TRIGGER'is invalid and failed re-v
- 黑马程序员_多线程技术_(线程的创建 Thread和Runnable、死锁、线程间通信、join、yield)
- 黑马程序员-线程(两种创建方式)、定时器
- zabbix创建触发器、action,发送报警邮件
- Oracle 触发器和序列的创建和使用 (自动增长列)
- 触发器的创建与使用
- 数据库-数据库、基本表、视图的创建,触发器的使用
- mysql 把当前行数据作为子查询的条件、基于join的update、创建触发器
- Oracle中创建表,行级触发器,序列