zoukankan      html  css  js  c++  java
  • 四、触发器(Trigger)

    一、触发器

    有点类似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;
  • 相关阅读:
    133
    132
    131
    130
    129
    128
    2019.10.16考试解题报告
    2019.10.15考试解题报告
    洛谷 P1352 没有上司的舞会
    2019.10.13考试解题报告
  • 原文地址:https://www.cnblogs.com/drq1/p/8602262.html
Copyright © 2011-2022 走看看