• Oracle 的一个非常好的触发器例子


    CREATE OR REPLACE TRIGGER test_trigger
    AFTER INSERT OR UPDATE OF sal OR DELETE 
    ON emp
    FOR EACH ROW
    BEGIN
      CASE
      WHEN INSERTING THEN  --当事件为INSERT时,INSERTING为TRUE
        /*
        :NEW关键字可以获取新记录的数据,它只能用于行级触发器
        */
        DBMS_OUTPUT.PUT_LINE('INSERT INTO EMP VALUES('||:NEW.empno||','||:NEW.ename||','||:NEW.job||','||:NEW.mgr||','||:NEW.hiredate||','||:NEW.sal||','||:NEW.comm||','||:NEW.deptno||')');
      WHEN UPDATING THEN  --当事件为UPDATE时,UPDATING为TRUE
        DBMS_OUTPUT.PUT_LINE('UPDATING emp which empno='||:OLD.empno||'to sal:'||:NEW.sal);--:OLD关键字可以获取旧记录的数据,它只能用于行级触发器
      WHEN DELETING THEN  --当事件为DELETE时,DELETING为TRUE
        DBMS_OUTPUT.PUT_LINE('DELETING emp which empno='||:OLD.empno);--:OLD关键字可以获取旧记录的数据,它只能用于行级触发器
      ELSE
        NULL;
      END CASE;
    EXCEPTION
      WHEN DUP_VAL_ON_INDEX THEN
        NULL;
      WHEN OTHERS THEN
        RAISE_APPLICATION_ERROR(SQLCODE,SQLERRM);
    END test_trigger;
  • 相关阅读:
    python的json模块介绍
    采用boosting思想开发一个解决二分类样本不平衡的多估计器模型
    kappa系数
    android服务
    Android Studio 无法预览布局问题:com/android/util/PropertiesMap
    pitch yaw roll是什么
    keil5破解
    Eclipse/jre/jdk/jvm
    传感器
    Java静态代码块
  • 原文地址:https://www.cnblogs.com/canyangfeixue/p/2721283.html
Copyright © 2020-2023  润新知