트리거는 데이터베이스 시스템에서 삽입, 갱신, 추가, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL이다.
일반적으로 이벤트와 관련된 테이블의 데이터 삽입, 추가, 삭제 작업을 DBMS가 자동적으로 실행시키는 데 활용한다.
데이터 무결성 유지 및 로그 메시지 출력 등의 별도 처리를 위해 사용되기도 한다.

| 구성요소 | 설명 |
|---|---|
| 선언부(DECLARE) | 트리거의 명칭을 정의하는 부분 |
| 이벤트부(EVENT) | 트리거가 실행되는 타이밍, 이벤트를 명시하는 부분 |
| 시작/종료부(BEGIN/END) | 트리거의 시작과 종료를 표현하는 데 필수적이며, BEGIN/END가 쌍을 이루어 추가되므로 블록으로 구성 다수 실행을 제어하는 기본적 단위가 되며 논리적 프로세스를 구성 |
| 제어부(CONTROL) | 기본적으로는 순차적으로 처리 비교 조건에 따라 블록 또는 문장을 실행 조건에 따라 반복 실행 |
| SQL | DML을 주로 사용하고, 자주 사용되지 않지만 DDL(TRUNCATE 등)을 사용 |
| 예외부(EXCEPTION) | BEGIN~END절에서 실행되는 SQL문이 실행될 때 예외 발생 시 예외 처리 방법을 정의하는 처리부 |