码迷,mamicode.com
首页 > 其他好文 > 详细

四、触发器(Trigger)

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

标签:参数   对象   rac   创建   --   ble   oracle   post   连接   

一、触发器

有点类似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)

标签:参数   对象   rac   创建   --   ble   oracle   post   连接   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!