触发器 学习笔记

触发器(trigger):是一类靠事件驱动的特殊过程。触发器一旦被某一用户定义,任何用户对触发器规定的数据进行更新时,均自动激活相应的触发器采取相应的措施。

创建:CREATE TRIGGER <触发器名>

撤销:DROP TRIGGER

设计举例:

create trigger trig_grade      --触发器名trig_grade

after update of grade on sc   --关系表sc的成绩修改后激活触发器

    referencing old as oldg , new as newg  --olds和newg分别为修改前后的元组变量

    for each row   --对每个元组都要检查一次

when (oldg.grade > newg.grade)  --条件

    update sc

    set grade = oldg.grade

    where cno = newg.cno

事件关键字:before 在触发事件完成以前,测试when条件是否满足,满足则执行

                     after  在触发事件完成之后,测试when条件是否满足,满足则执行

触发事件:update  允许后面跟有 OF<属性> ,应有old as ,new as

                  delete  是对整个元组的操作,应有 old as

                  insert  是对整个元组的操作,应有 new as

动作间隔:元组级 (带有 for each row) 对每个修改的元组都要检查一次

                  语句级 检查一次SQL语句的执行结果

猜你喜欢

转载自adla-bin.iteye.com/blog/1860951
今日推荐