Trigger(트리거)는 이벤트가 발생했을 때 자동으로 실행되는 동작이나 프로세스를 의미한다. 다양한 시스템에서 트리거가 사용되는데, 주로 데이터베이스나 이벤트 기반 시스템에서 특정 조건을 만족할 때 특정 작업을 수행하는 데 활용된다.
1. 데이터베이스 트리거
- 정의: 데이터베이스에서 INSERT, UPDATE, DELETE와 같은 데이터 변경 작업이 발생할 때 자동으로 실행되는 SQL 코드이다.
- 예시:
학교 프로젝트에서 학생 출석 정보를 관리하는 데이터베이스를 구축한다고 가정한다.
출석 정보를 수정할 때마다 로그 테이블에 수정 이력을 자동으로 기록하고 싶다면 트리거를 사용할 수 있다.
CREATE TRIGGER record_attendance_update
AFTER UPDATE ON attendance
FOR EACH ROW
INSERT INTO attendance_log (student_id, updated_at, action)
VALUES (OLD.student_id, NOW(), 'UPDATED');
2. 웹 트리거 (Webhook의 일환)
- 정의: 이벤트 기반 시스템에서 특정 동작이 발생하면 Webhook이나 API 호출 같은 후속 작업을 자동으로 실행하는 것을 의미한다.
- 예시:
- 이벤트: 사용자가 온라인 쇼핑몰에서 결제를 완료
- 트리거 동작: 결제 완료 시 주문 시스템이 작동해 배송 준비를 시작하고, 알림 이메일을 고객에게 자동 발생한다.
- 트리거: 이벤트가 발생하면 특정 동작을 수행(주로 내부 작업에 사용)
- Webhook: 이벤트가 발생하면 외부 서버로 알림을 전송하여 동작을 수행