행위

"오라클 트리거"의 두 판 사이의 차이

DB CAFE

(트리거 생성)
1번째 줄: 1번째 줄:
 
== 트리거 생성 ==
 
== 트리거 생성 ==
 +
https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/img/create_trigger.gif
 
<source lang=sql>
 
<source lang=sql>
  

2020년 9월 15일 (화) 23:39 판

thumb_up 추천메뉴 바로가기


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