首页 > 其他 > 详细

触发器after和before

时间:2017-08-01 15:30:46      阅读:342      评论:0      收藏:0      [点我收藏+]
--after和before
CREATE OR REPLACE TRIGGER del_emp1
               BEFORE update OR insert OR delete ON scott.emp
         REFERENCING new AS nn  old AS oo
         FOR EACH ROW
         WHEN (nn.sal > 2000)
BEGIN
         IF INSERTING THEN
            dbms_output.put_line(‘THE OPERATION IS INSERT‘);
         ELSIF UPDATING THEN
             dbms_output.put_line(‘THE OPERATION IS UPDATE‘);
         ELSIF DELETING THEN
             dbms_output.put_line(‘THE OPERATION IS DELETE‘);
         ELSE
             dbms_output.put_line(‘OTHERS OPERATION‘);
         END IF;
END;
CREATE OR REPLACE TRIGGER del_emp2
               after update OR insert OR delete ON scott.emp
         REFERENCING new AS nn  old AS oo
         FOR EACH ROW
         WHEN (nn.sal > 2000)
BEGIN
         IF INSERTING THEN
            dbms_output.put_line(‘THE OPERATION IS INSERT‘);
         ELSIF UPDATING THEN
             dbms_output.put_line(‘THE OPERATION IS UPDATE‘);
         ELSIF DELETING THEN
             dbms_output.put_line(‘THE OPERATION IS DELETE‘);
         ELSE
             dbms_output.put_line(‘OTHERS OPERATION‘);
         END IF;
END;
update emp set sal=7000 where emp.ename=‘SMITH‘;
--after和before的区别是:before是先执行begin后触发触发器,after是先执行触发器而后执行begin内容.
CREATE OR REPLACE TRIGGER check_emp
               BEFORE update OR insert OR delete ON scott.emp
         REFERENCING new AS nn old AS oo
         FOR EACH ROW
         /*WHEN (nn.sal < 2000)*/
BEGIN
         IF INSERTING THEN
            dbms_output.put_line(‘THE OPERATION IS INSERT‘);
         ELSIF UPDATING THEN
             dbms_output.put_line(‘THE OPERATION IS UPDATE‘);
         ELSIF DELETING THEN
             dbms_output.put_line(‘THE OPERATION IS DELETE‘);
         ELSE
             dbms_output.put_line(‘OTHERS OPERATION‘);
         END IF;
END;
select * from emp;
begin  
       savepoint s1;
       delete emp where sal=4000;
       rollback to s1;
end;

       

 

触发器after和before

原文:http://www.cnblogs.com/kiskistian/p/7268576.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!