매일 1%씩, 개발자로 성장하기

[Oracle] 트리거(Trigger) 문법 및 생성 본문

Database/Oracle

[Oracle] 트리거(Trigger) 문법 및 생성

할미개발 2022. 8. 9. 20:13
728x90

트리거(Trigger) 

- 트리거(Trigger)는 어느 특정한 동작에 반응해 자동으로 필요한 동작을 실행하는 것을 뜻함.

- BEFORE은 INSERT, UPDATE 또는 DELETE문이 실행되기 전트리거(Trigger)  실행.
- AFTER는 INSERT, UPDATE 또는 DELETE문이 실행된 후 트리거(Trigger)  실행.
- FOR EACH ROW는 행 트리거가 된다는 것.

 

CREATE TRIGGER 트리거명
 (BEFORE|AFTER) (INSERT|DELETE|UPDATE) -- 트리거를 언제 시작할 것 인지
 ON 테이블명         -- 트리거가 발생하는 테이블

 [FOR EACH ROW] -- 실행될 문장 행에 각각 적용
 
 [WHEN 조건식]

  BEGIN
     -- 트리거 발생시 실행할 문장(주로 DML문장)
  END;

 

변경 전 컬럼 값과 변경 후 컬럼 값을 알 수 있음.

:old.컬럼명
:new.컬럼명

 

1) INSERT 후에 트리거가 발생할 수 있도록 트리거 생성

-- 트리거 생성
CREATE  OR  REPLACE  TRIGGER  tr_dept_insert 
AFTER  INSERT  ON  dept
BEGIN 
   dbms_output.put_line('정상적으로 입력되었습니다.');
END;

 

2) INSERT 실행

-- 트리거 생성 후 확인
INSERT INTO dept VALUES (60,'ORACLE','ILSAN');

 

3) 확인

 

 

Output을 통해 정상적으로 트리거가 실행되었다는 것을 확인 할 수 있다.

 

728x90
Comments