메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

오라클 트리거

DB CAFE

트리거 생성

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;

트리거 삭제

DROP TRIGGER TR_AGA02_TEST;

트리거 활성화

ALTER TRIGGER reorder ENABLE;

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

ALTER TABLE inventory
    ENABLE ALL TRIGGERS;

트리거 비활성화

ALTER TRIGGER reorder DISABLE;

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

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')
 ;

유저 트리거 전체 비활성화 프로시져

  • 트리거를 실행할 유저로 로그인 할것
BEGIN
FOR i IN (SELECT trigger_name
FROM user_triggers) LOOP

EXECUTE IMMEDIATE 'ALTER TRIGGER ' || i.trigger_name || ' DISABLE';
END LOOP;
END;