트리거란 데이터베이스 시스템에서 이벤트가 발생할 때 관련 작업이 자동으로 수행되게 하는 절차형 SQL입니다. 데이터 변경 및 무결성 유지, 로그 메시지 출력 등의 목적으로 사용됩니다. 트리거 구문에는 DCL을 사용할 수 없습니다.
트리거 생성
CREATE OR REPLACE TRIGGER 트리거명 동작시기옵션 동작옵션 ON 테이블명 REFERENCING NEW 또는 OLD AS 테이블명 FOR EACH ROW WHEN 조건식 BEGIN 트리거 BODY; END; |
* 동작시기옵션 : 트리거가 실행될 때를 지정합니다.
- AFTER : 테이블이 변경된 후에 실행됩니다.
- BEFORE : 테이블이 변경되기 전에 실행됩니다.
* 동작옵션 : 트리거가 실행되게 할 작업의 종류를 지정합니다.
- INSERT : 튜플이 삽입될 때 트리거가 실행됩니다.
- DELETE : 튜플이 삭제될 때 트리거가 실행됩니다.
- UPDATE : 튜플이 수정될 때 트리거가 실행됩니다.
* NEW 또는 OLD : 트리거가 적용될 테이블의 별칭을 지정합니다.
- NEW : 추가되거나 수정에 참여할 튜플들의 집합(테이블)을 의미합니다.
- OLD : 수정되거나 삭제 전 대상이 되는 튜플들의 집합(테이블)을 의미합니다.
* FOR EACH ROW : 각 튜플마다 트리거가 적용됩니다.
* WHEN 조건식 : 트리거를 적용할 튜플의 조건을 지정합니다.
트리거 제거
DROP TRIGGER 트리거명; |
728x90
반응형