触发器

触发器(Trigger)是用户定义在关系表上的一类由事件驱动的特殊过程.一旦定义,任何用户对表的增,删,减和该操作由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制.触发器类似于约束,但是比约束更加灵活,可以实施比FOREIGN KEY约束, CHECK约束更为复杂的检查和操作,具有更精细和更强大的数据控制能力.

 

触发器的创建语句:

 CREATE TRIGGER  触发器名 

BEFORE|AFTER 触发事件 ON  表名 

FOR EACH ROW |STATEMENT

WHEN 触发条件 

触发动作体


触发器详解:

1表的拥有者,即创建表的用户才可以在表上创建触发器,并且一个表上只能创建一定数量的触发器.

2触发器名可以包含模式名,也可以不包含模式名.同一模式下,触发器名必须是唯一的,并且触发器名和表名必须在同一模式下.

3当这个表的数据发生变化时,将激活定义在该表上的相应<触发事件>的触发器,因此,该表也称为触发器的目标表.

4触发事件可以是INSERT,DELETE或UPDATE,也可以是这几个事件的组合,如INSERT OR DELETE 等,UPDATE后面还可以有OF<触发器,...>,即进一步指明修改哪些列时出发器激活.

5触发器按照所触发动作的间隔尺寸可以分为行级触发器(FOR EACH ROW )和语句级(FOR EACH STATEMENT).

6触发器被激活时,只有当触发条件为真时触发动作体才执行;否则触发动作体不执行,如果省略WHEN触发条件,则触发动作体在触发器激活后立即执行

 

 

posted @ 2012-06-30 15:54  星期八兜兜  阅读(307)  评论(0编辑  收藏  举报