트리거
- 이벤트와 관련된 테이블의 데이터 삽입, 추가, 삭제 작업을 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 |