Database/ORACLE
[Oracle TRIGGER]오라클 트리거
까리송
2013. 10. 10. 10:44
반응형
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);
반응형