DATABASE(oracleDB 11g)/PLSQL

[PL/SQL]트리거의 기초

SEUNGSAMI 2019. 2. 25. 14:18

트리거의 기초



트리거란?

- 데이터베이스에 save되어있고 select된 event에대한 응답으로 실행되는 PL/SQL block.

- TABLE, VIEW, SCHEMA, DATABASE에 정의가능.



트리거 이벤트 유형

- DML

- DDL

- DATABASE 작업(SERVERERROR, LOGON/OFF, STARTUP/DOWN ...)



트리거 사용의 예시

- SECURITY

- AUDIT(감사)

- 무결성(데이터/참조)

- TABLE의 복제

- EVENET LOGGING

- 데이터들의 자동적인 계산


문장트리거

- 무조건 명령어 단위로 트리거 실행

EX)DEPT 테이블에서 DEPTNO = 50인 조건의 명령어 실행시 실행됨.


행트리거

- 조건을 만족하는 행 갯수 별로 트리거가 실행

EX)DEPT 테이블에서 DEPTNO = 50인 조건의 명령어 실행시 실행되지 않음.



INSTEAD OF 트리거

- VIEW에 걸리는 트리거



트리거의 상태

- Enabled : 정상적인 트리거가 만들어져 있지 않은 경우 트리거 작업을 실행

- Disabled : 정상적인 트리거가 만들어져 있지 않은 경우 트리거 작업을 실행X



트리거는 잘못 만들면 로직이 꼬이기 때문에 테스트가 필수 이다.


####내용보충 필요


SQL을 배운지 얼마 되지 않아 잘못된 내용이 있을 수 있습니다. 틀린 내용이있다면, 댓글로 달아주세요.