트리거의 기초
트리거란?
- 데이터베이스에 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을 배운지 얼마 되지 않아 잘못된 내용이 있을 수 있습니다. 틀린 내용이있다면, 댓글로 달아주세요.
'DATABASE(oracleDB 11g) > PLSQL' 카테고리의 다른 글
[PL/SQL]혼합, DDL, DB 이벤트 트리거(TRIGGER) 생성 (0) | 2019.02.25 |
---|---|
[PL/SQL]컬렉션 사용의 기초 (0) | 2019.02.25 |
[PL/SQL]코드 설계 고려 사항 기초 (0) | 2019.02.22 |
[PL/SQL]동적 SQL의 기초 (0) | 2019.02.22 |
[PL/SQL]패키지 작업의 기초 (0) | 2019.02.22 |