우선 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 <-- 나온다 ㅎㅎ
짝짝짝 끝이에요;