행위

오라클 트리거

DB CAFE

1 트리거 생성

create_trigger.gif

CREATE OR REPLACE TRIGGER TR_AGA02_TEST
  BEFORE INSERT OR UPDATE OR DELETE ON TB_TRG_TEST
  FOR EACH ROW
DECLARE
BEGIN
  IF (:NEW.SLIP_DT >= '20191201' OR :OLD.SLIP_DT >= '20191201') THEN  
      RAISE_APPLICATION_ERROR('-20001', '트리거검사오류: SLIP_DT 일자가 20191201보다 같거나 큰 값은 입력할 수 없습니다.');
  END IF;
END;

2 트리거 삭제

3 트리거 활성화

ALTER TRIGGER reorder ENABLE;

4 테이블에 걸린 트리거 전체 활성화

ALTER TABLE inventory
    ENABLE ALL TRIGGERS;

5 트리거 비활성화

ALTER TRIGGER reorder DISABLE;

6 테이블에 걸린 트리거 전체 비활성화

ALTER TABLE inventory
     DISABLE ALL TRIGGERS;
SELECT DISTINCT 'ALTER TABLE '||TABLE_OWNER||'.'||TABLE_NAME|| ' DISABLE ALL TRIGGERS;' DIS_TRIGGER
 FROM DBA_TRIGGERS
 WHERE OWNER IN (
 'TB_EMP'
,'TB_DEPT')
 ;