DataBase/Oracle2008. 8. 14. 18:18

우선 Trigger을 하계된 계기는 Hynix에서 MDM 장비 통합 작업을 하는데 해당 MDM에서 우리쪽 DB로 데이터를

Insert 혹은 Update를 할 경우 우리쪽 관련 Table의 정보역시 변경혹은 삽입을 해야 할 경우가 발생하여

알게 되었다.


1. 우선 두개의 Table을 만들어 봅시다.

====================================

CREATE TABLE SW_TEST
(
   OK VARCHAR2(10)
)

CREATE TABLE SW_TEST2
(
   OK VARCHAR2(10)
)

====================================


2. Trigger를 만들어 봅시다.
====================================
CREATE OR REPLACE TRIGGER TEST_TRIGGER  -- 트리거를 만들고 이름은 TEST_TRIGGER
AFTER INSERT OR UPDATE                                -- INSERT 또는 UPDATE할때 EVENT 발생
ON SEWOO.S_TEST
REFERENCING NEW AS NEW OLD AS OLD           -- :NEW.   :OLD.  <-- 이거 이름 설정할때..
FOR EACH ROW                                                -- 각각의 행에 대해 실행 한다.
DECLARE                                                         -- 요고 위쪽에 변수 선언 가능 : EX) OK NUMBER;
BEGIN                                                              -- 요고 와 END 사이에 PLSQL 작성
INSERT INTO
S_TEST2
(OK) VALUES (:NEW.OK);
END TEST_TRIGGER;
/
====================================

3. 실행해 봅시다.

INSERT INTO S_TEST (OK) VALUES ('ABC')

4. 확인해 봅시다.

SELECT * FROM S_TEST


ABC   <-- 나온다 ㅎㅎ

짝짝짝 끝이에요;

Posted by penguindori