[Adv SQL] Triggers

Update:     Updated:

Category:

Tags:


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로 설정

 image

ex2. update가 발생할 때마다 :

grade가 ‘F’ 또는 null에서 다른 값으로 변경된 경우, 해당 학생의 총 학점 tot_cred을 증가시키는 코드.

image





@Database System Concepts sixth edition 내용을 참고함



맨 위로 이동하기