CREATE OR REPLACE TRIGGER aft_trg_dd
AFTER INSERT OR UPDATE ON dd_table
FOR EACH ROW
DECLARE
  v_seq VARCHAR2(20);
 
  V_ERR_CODE VARCHAR2(20);
  V_ERR_MSG VARCHAR2(100);
  V_ERR_ETC VARCHAR2(30);
BEGIN
 
  IF INSERTING THEN
   -- 쿼리 처리
  ELSIF UPDATING THEN
    IF :OLD.seq = '2' AND :NEW.seq = '3'
    THEN
         -- 쿼리처리
    END IF;  
  END IF;
 
  EXCEPTION

        WHEN OTHERS THEN
            V_ERR_CODE := SQLCODE;
            V_ERR_MSG := SUBSTR(SQLERRM, 1, 100);
            V_ERR_ETC := v_seq;

            INSERT INTO ERR_LOG (DT, MODULE, CD, MSG, ETC)
            VALUES    ( TO_CHAR(SYSDATE,'YYYY-MM-DD'), 'aft_trg_dd', V_ERR_CODE, V_ERR_MSG, V_ERR_ETC);
END;

'Db > Oracle' 카테고리의 다른 글

Oracle Cursor 관련 사용 예제모음  (0) 2010.04.06
Oracle View Sample  (2) 2010.04.06
Oracle Sequence Sample  (2) 2010.04.06
Oracle Package Procedure Sample  (2) 2010.04.06
Oracle 암/복호화 Package Function Sample(dbms_obfuscation_toolkit)  (3) 2010.04.06