[Adv SQL] Triggers
Category: Database System
Tags: SQL
Trigger
데이터베이스가 수정되면 시스템에서 자동으로 실행되는 statement를 의미한다.
Trigger를 설정할 수 있는 이벤트 : insert, delete, update
Trigger Mechanism을 정의하기 위해서는 :
-
Specify Condition
ex. 사용자가 grade를 입력할 때마다(= condition)
-
Specify Action
ex. overall average grade를 계산하도록 하겠다. (= action)
Create Trigger
-
수정하기 이전 값과 이후 값 명시 가능
referencing old row as : for delete/update
referencing new row as : for insert/update
-
수정하기 전/후 trigger 설정 가능
before update of <relation>
after update of <relation>
ex1. update가 발생하기 전에 grade를 null로 설정
ex2. update가 발생할 때마다 :
grade가 ‘F’ 또는 null에서 다른 값으로 변경된 경우, 해당 학생의 총 학점 tot_cred을 증가시키는 코드.
@Database System Concepts sixth edition 내용을 참고함