2013. 10. 10. 10:44ㆍDatabase/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 |