"오라클 트리거"의 두 판 사이의 차이
DB CAFE
(→트리거 생성) |
(→트리거 삭제) |
||
16번째 줄: | 16번째 줄: | ||
== 트리거 삭제 == | == 트리거 삭제 == | ||
+ | <source lang=sql> | ||
+ | DROP TRIGGER trg_tb_test01; | ||
+ | </source> | ||
+ | |||
== 트리거 활성화 == | == 트리거 활성화 == | ||
<source lang=sql> | <source lang=sql> |
2023년 3월 30일 (목) 20:09 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 트리거 생성[편집]
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 트리거 삭제[편집]
DROP TRIGGER trg_tb_test01;
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')
;