[Oracle TRIGGER]오라클 트리거

2013. 10. 10. 10:44Database/ORACLE



반응형

database oracle trigger 란 무엇이냐?

Table에 대한 이벤트를 자동으로 실행 해주는것 DML(데이터조작언어) 데이터 상태의 관리를 자동화 하는것이다.

쉽게 말하자면 자동으로 실행되는 PL/SQL 문이라고 보면됨..

예를들면 A,B,C 라는 테이블에 공통으로 주민번호가 있다 .  A라는 주민번호가 지워지면 B,c테이블 자동으로 지워지게하거나 Update , insert 등을 할수있음~


문장 trigger : insert, delete, update 한번만 실행 됨 컬럼값이 변화가 생길때마다 지가 아라서 실행

 (FOR EACH ROW 옵션이 사용안됨)


행 trigger : 컬럼의 데이터행이 변화가오면 실행됨 변경 후의 행은 OLD, NEW 사용하여 가저올수 있음

 (FOR EACH ROW 옵션이 됨)


트리거 형식 -

CREATE or REPLACE TRIGGER 트리거이름

BEFORE|AFTER 

[INSERT,DELETE,UPDATE]ON 테이블이름

[Referencing OLD AS {변경전 값을 참조하는 변수명} NEW AS {변경후 값을 참조하는 변수명}]

[ FOR EACH ROW ]

DECLARE

-- 변수선언

BEGIN

-- 트리거 코드

EXCEPTION

WHEN

--익셉션

END;

CREATE OR REPLACE TRIGGER 트리거이름
BEFORE UPDATE
ON 테이블이름 
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
BEGIN
   
INSERT INTO TABLE_MOD
(aa,bb,cc)
   VALUES
(:OLD.aa,:OLD.bb,:OLD.cc);


반응형

'Database > ORACLE' 카테고리의 다른 글

oracle start with connect by prior  (1) 2014.01.09
Oracle MERGE INTO (Upsert) 구문  (2) 2013.10.31
오라클 소수점  (0) 2013.03.14
Oracle 내장함수  (0) 2013.02.08
Toad Oracle Procedure t 실행방법  (0) 2013.02.08