- 데이터베이스 시스템에서 데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL
- 데이터베이스에 저장되며, 데이터 변경 및 무결성 뮤지, 로그 메시지 출력 등을 목적으로 사용됨
- DCL 사용불가
- DCL이 포함된 프로시저나 함수를 호출하는 경우에도 오류 발생
- 오류가 있을 경우 트리거가 처리하는 데이터에도 영향을 미치므로 트리거 생성시 세심한 주의 필요
1. 트리거 구성

- DECLARE : 트리거 명칭, 변수 및 상수, 데이터 타입을 정의하는 선언부
- EVENT : 트리거가 실행되는 조건 명시
- BEGIN / END : 트리거의 시작과 종료
- CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리됨
- SQL : DML문이 삽입되어 데이터 관리를 위한 조회, 추가, 수정, 삭제 작업을 수행
- EXCEPTION : BEGIN ~ END 안의 구문 실행 시 예외가 발생하면 이를 처리하는 방법 정의
2. 트리거 생성
CREATE [OR REPLACE] TRIGGER 트리거명 동작시기 동작 ON 테이블명
[REFERENCING NEW | OLD AS 테이블명]
[FOR EACH ROW [WHEN 조건식]]
BEGIN
트리거 BODY;
END;
- CREATE TRIGGER 명령어 사용
- 동작시기 : 트리거가 실행될 때 지정
- AFTER : 테이블이 변경된 후에 트리거 실행
- BEFORE : 테이블이 변경되지 건에 트리거 실행
- 동작 : 트리거가 실행되게 할 작업의 종류 지적
- INSERT : 테이블에 새로운 튜플을 삽입할 때 트리거 실행
- DELETE : 테이블의 튜플을 삭제할 때 트리거 실행
- UPDATE : 테이블의 튜플을 수정할 때 트리거 실행
- NEW / OLD : 트리거가 적용될 테이블의 별칭 지정
- NEW : 추가되거나 수정에 참여할 튜플들의 집합(테이블)을 의미
- OLD : 수정되거나 삭제 전 대상이 되는 튜플들의 집합(테이블)을 의미
- WHEN 조건식 : Optional / 트리거를 적용할 튜플의 조건 지정
- 트리거 BODY
- 트리거 본문 코드를 기록하는 부분
- BEGIN과 END 사이에 적어도 하나의 SQL 문이 있어야 함
3. 트리거 제거
- DROP TRIGGER 트리거명;
📖 Reference
2023 시나공 정보처리기사 필기 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
| [3과목 데이터베이스 구축] SQL 활용 - 117. DBMS 접속 기술 (0) | 2025.11.19 |
|---|---|
| [3과목 데이터베이스 구축] SQL 활용 - 116. 사용자 정의 함수 (0) | 2025.11.19 |
| [3과목 데이터베이스 구축] SQL 활용 - 114. 프로시저 (Procedure) (0) | 2025.11.19 |
| [3과목 데이터베이스 구축] SQL 응용 - 113. ⭐ DML - JOIN (0) | 2025.11.19 |
| [3과목 데이터베이스 구축] SQL 응용 - 108. ⭐ DDL (Data Define Language) ~ 112. ⭐ DML - SELECT 2 (0) | 2025.11.19 |