본문 바로가기

DB

[DB] Trigger의 생성과 쓰임

트리거

 

- 이벤트와 관련된 테이블의 데이터 삽입, 추가, 삭제 작업을 DBMS가 자동적으로 실행시키는데 활용

 

- 데이터 무결성 유지 및 로그 메시지 출력등의 별도 처리를 위해 활용

 

 

EX) 트리거의 생성

CREATE OR REPLACE TRIGGER A

BEFORE INSERT OR UPDATE ON A_table // A_table 테이블의 A 컬럼에 로우가 삽입되거나 수정이 발생했을  때 실행 

                                                              

FOR EACH ROW

WHEN(new.A< 3000) // 해당 로우의 값이 3000이하인지 검사

CALL AB_fn() // 검사결과가 맞으면 AB_fn 함수 호출

트리거타입

 

타입 설명
로우(ROW)

테이블에 INSERT, UPDATE, DELETE가 발생하는 로우마다 트리거의 내용이 실행되는 타입이다.

이 타입의 트리거는 각 로우에 연산이 발생할 때 마다 연산 직전 또는 직후에 트리거가 실행된다.

문장 로우의 개수에 상관없이 문장 단위로 한번만 실행되는 타입
BEFORE 조건 문장이 실행되기 전에 트리거의 내용이 실행되는 타입
AFTER 조건 문장이 실행된 후 트리거의 내용이 실행되는 타입

'DB' 카테고리의 다른 글

[DB] 정규화의 정의 및 법칙(1, 2, 3, BCNF)  (0) 2020.01.30
[DB] 트랜잭션 정의 및 성질  (0) 2020.01.29
[DB] 데이터베이스 용어 정리  (5) 2020.01.22
[DB] View 와 Index  (4) 2020.01.21
[DB] DDL, DML, DCL, TCL에 속하는 명령어  (0) 2020.01.20