首页 > 其他 > 详细

四、触发器(Trigger)

时间:2018-03-19 16:32:32      阅读:159      评论:0      收藏:0      [点我收藏+]

一、触发器

有点类似AOP里的拦截器,触发器不能传递参数,也不能输出参数,也不能显式调用,只有当满足触发器条件的时候Oracle会自动调用。

触发器:

  1、语句级别的触发器:CRUD操作

  2、行级别的触发器

  3、系统级别的触发器:数据库的关闭,启动

  4、用户事件的触发器:进行drop,alter,create时候触发

二、触发器的创建

--创建行级别的触发器
CREATE OR REPLACE trigger trigger_update_product_table
AFTER UPDATE
ON product_table
FOR EACH ROW    --每更新一行,就触发一次
BEGIN
    --Oracle里面对触发器提供了特殊的对象:NEW   :OLD来访问更新前后的数据
    DBMS_OUTPUT.put_line(更新后||:NEW.name);--orcle使用||符号链接字符串而已,相当于java中的+连接字符串
    DBMS_OUTPUT.put_line(更新前||:OLD.name);
    
    IF UPDATING THEN
    
    END IF;
    
    IF INSETING
END;
--创建表级别的触发器
CREATE OR REPLACE trigger trigger_update_product_table
AFTER UPDATE
ON product_table
BEGIN
    --表级别触发器里面,不允许使用:NEW  :OLD变量
    --DBMS.OUTPUT.put_line(‘更新后:‘||:NEW.name);
    --DBMS.OUTPUT.put_line(‘更新前:‘||:OLD.name);
END;

 

四、触发器(Trigger)

原文:https://www.cnblogs.com/drq1/p/8602262.html

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