oracle11g下载账号Oracle触发器笔记

 

create or replace trigger emp

–before 表示对操作前的触发器

— after 表示对操作后的触发器

–每张表最多可建立12个触发器

–before inset  www.2cto.com  

–before insert for each row

–after insert 

–after insert for each row

–before uPdate

–before uPdate for each row

–after uPdate 

–after uPdate for each row

–before uPdate

–before uPdate for each row

–after uPdate 

–aforacle账号ter uPdate for each row
 

–执行的顺序是:#1. 执行before语句级的触发器,对于受语句影响的每一行:

— #2. 执行级触发器,执行DML语句

–执行after行级的触发器

–#3. 执行 after语句级的触发器

  before delete on aaa  –删除操作前aaa表的触发器

  

  for each row –对表的每一行触发器执行一次。如果没有这一选项,则只对整个表执行一次。

declare  www.2cto.com  

begin

     /*如果插入的任然是aaa表的话,会出现:第 1 行出现错误:

ORA-04091: 表 QUERY.AAA 发生了变化, 触发器/函数不能读它

ORA-06512: 在 "QUERY.EMP", line 4 (QUERY表示user,line表示行数,EMP表示触发器名称)

ORA-04088: 触发器 'QUERY.EMP' 执行过程中出错*/

  /*将修改前的数据插入到日志表aaa_tmp里去,以供监督使用*/

  insert into aaa_tmp(AID,ANAME,PRICE)

  

  values(:old.AID,:old.ANAME,:old.PRICE);–:old表示原来的数据,

                                         –:new表示插入的新数据                                   

end emp;

 

 

 

作者 blog_yuan

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。