主题:什么是触发器,
cabtsz
[专家分:30] 发布于 2006-06-22 14:25:00
电子里面的触发器我就听说过.数据库里还有触发器呀.还有什么储存过程.
回复列表 (共8个回复)
沙发
233238447 [专家分:1350] 发布于 2006-06-22 20:47:00
触发器,是你执行一系列 增加,删除,修改 所触发的语句
它是一种强制性的约束
最具有代表性的例子就是银行的转帐系统
板凳
liwencocolee [专家分:670] 发布于 2006-06-22 21:01:00
触发器在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种:分别应用于Insert , Update , Delete 事件。
举个例子:TABLE A记录用户登陆时间,TABLE B记录用户状态(在线或者离线)!模拟一个用户登陆:成功登陆后A必须记录用户该次登陆时间,而且B中也必须更改该用户状态(离线->在线).在这个例子中触发器发挥了它的作用!写个简单的SQL就可以让SQL SERVER在对A表插入登陆时间的同时在B中更改该用户状态!
触发器就象JAVA或者C#的事件,我们在点一个按扭的同时会触发它上面的某个动作(即事件,当然前提是该按钮成功的绑定了事件).
3 楼
233238447 [专家分:1350] 发布于 2006-06-22 22:02:00
楼上的,我问你触发器在 理论上来讲有几个,而非理论讲又有几个
最多可以建多少触发器
4 楼
星月神ming [专家分:180] 发布于 2007-05-18 11:26:00
发器在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种:分别应用于Insert , Update , Delete 事件。
举个例子:TABLE A记录用户登陆时间,TABLE B记录用户状态(在线或者离线)!模拟一个用户登陆:成功登陆后A必须记录用户该次登陆时间,而且B中也必须更改该用户状态(离线->在线).在这个例子中触发器发挥了它的作用!写个简单的SQL就可以让SQL SERVER在对A表插入登陆时间的同时在B中更改该用户状态!
5 楼
smywlw [专家分:60] 发布于 2007-05-25 14:38:00
储存过程. 在别的语言中就相当与方法
但是这两种格式不一样
触发器
对某个表添加触发器时(触发器 不能为select)如:insert 类型
当对该表 添加东西时 就会触发 触发器
触发器就会执行触发器里面的内容
6 楼
piaoyexie [专家分:1380] 发布于 2007-06-04 10:24:00
触发器:是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们。
功能:
1、允许/限制对表的修改
2、自动生成派生列,比如自增字段
3、强制数据一致性
4、提供审计和日志记录
5、防止无效的事务处理
6、启用复杂的业务逻辑
开始
create trigger biufer_employees_department_id
before insert or update
of department_id
on employees
referencing old as old_value
new as new_value
for each row
when (:new_value.department_id<>80 )
begin
:new_value.commission_pct :=0;
end;
/
触发器的组成部分:
1、触发器名称
2、触发语句
3、触发器限制
4、触发操作
触发器类型:
1、语句触发器
2、行触发器
3、INSTEAD OF 触发器
4、系统条件触发器
5、用户事件触发器
7 楼
happyboy2007 [专家分:3900] 发布于 2007-09-05 09:48:00
存储过程就是全部准备执行的SQL语句的集合。类似JAVA中的方法。我们可以通过调用存储过程的名字并传递参数调用它,因此可以实现SQL语句的复用。
触发器是一种特殊的存储过程,它不接受任何值也不返回任何值,只是由特定的事件出发。
常见的触发器有DML触发器,当执行insert update delete操作时自动触发。
8 楼
smywlw [专家分:60] 发布于 2008-04-03 21:57:00
触发器是一种特殊的存储过程,当表中的数据发生更新时将自动调用,以响应INSERT ,UPDATE,DELETE
我来回复