728x90
반응형
SMALL

* Youtube Link - https://www.youtube.com/watch?v=9Hm7qaN3xhQ&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=31

 

트리거 개념

무결성을 위한 제약조건이다.

방아쇠 역할을 한다.

예를 들어 백업 테이블에 자동으로 입력되도록 하는 것이다.

주로 DML 문에서 사용을 한다.

트리거는 프로시저와 비슷해 보인다.

하지만 트리거는 어떠한 이벤트가 발생을 할 때 실행되는 것이다.

트리거를 생성하였다.

BEGIN END로 묶어서 쿼리를 실행하는 이유는

트리거에서 만든 BEGIN END 구문 안에 있는 DBMS_OUTPUT.PUT_LINE('트리거가 작동했습니다.'); 를 실행하기 위해서다.

실제 트리거가 작동하는 것은 BEGIN END와 상관 없다.

트리거 종류

AFTER 트리거는 작업 후에 작동한다. 뷰에서는 작동하지 않는다.

BEFORE 트리거는 작업 전에 작동한다. 뷰에서는 작동하지 않는다.

INSTEAD OF 트리거는 뷰에서만 작동된다. 주로 뷰에 업데이트가 가능하도록 할 때 사용한다.

실습

변경하기 위한 백업 테이블을 생성하였다.

AFTER 트리거 예제

변경 또는 삭제가 일어나면

OLD 테이블의 내용을 백업 테이블에 삽입한다.

트리거가 생성하는 임시 테이블

:NEW 테이블과 :OLD 테이블은 

트리거가 사용하는 임시 테이블이다.

 

감사합니다.

728x90
반응형
LIST

+ Recent posts