트리거

bong·2023년 12월 16일
0

오라클 DB

목록 보기
5/8

트리거란 테이블 혹은 뷰에서 변경연산(INSERT, DELETE, UPDATE)이 실행되면 연동되어 실행되는 프로그램

1. 트리거 선언 형식

CREATE OR REPLACE TRIGGER 트리거이름
	{BEFORE, AFTER, INSTEAD OF} 
    {INSERT, DELETE, UPDATE} 
    [OF 컬럼] ON {테이블, 뷰} [FOR EACH ROW]
BEGIN
	명령선언
END;

2. AFTER, BEFORE, INSTEAD OF

AFTER

  • AFTER 변경연산 ON 테이블명
  • 테이블에 대한 변경연산 실행된 후 트리거 수행

BEFORE

  • BEFORE 변경연산 ON 테이블명
  • 테이블에 대한 변경연산 실행되기 전 트리거 수행

INSTEAD OF

  • INSTEAD OF 변경연산 ON 뷰명
  • 변경연산이 발생되기 전에 트리거를 수행하고, 시도된 SQL은 무시된다. 그 대신 뷰에 SQL이 작동

3. OLD, NEW

트리거가 부착된 테이블의 경우 트리거 내부에서 사용할 수 없기에 OLD와 NEW 사용

  • :OLD - 변경연산 이전의 값을 가진 테이블
  • :NEW - 변경연산 이후의 값을 가진 테이블

변경연산에 따른 OLD, NEW

OLDNEW
INSERTXO
DELETEOX
UPDATEOO

4. 다중 및 연쇄 트리거

다중 트리거 - 하나의 테이블이나 뷰에 여러개의 트리거를 부착하는 경우
연쇄 트리거 - 트리거가 또 다른 트리거를 연쇄적으로 작동 시키는 경우

profile
늅늅

0개의 댓글