초보 개발자 입니다.
트리거를 처음 써보는데요..
트리거 작성하다가 궁금한게 있어서 질문드립니다.
트리거 중간에..
노란색으로 칠해진 부분은 어떤 의미를 가지고 있는지 이해가 안되네요..
알려주시면 감사하겠습니다..
CREATE TRIGGER medal_trigger
AFTER UPDATE OR DELETE OR INSERT
ON AAA
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
WHEN (
NEW.NUM > = '17' OR OLD.NUM >= '17'
)
BRGIN
IF INSERTING THEN
INSERT INTO b(gb, dt, pk, new_c1, new_c2)
VALUES('I', sysdate, :NEW.pk, :NEW.c1, :NEW.c2)
;
ELSIF UPDATING THEN
INSERT INTO b(gb, dt, pk, new_c1, new_c2, old_c1, old_cd)
VALUES('U', sysdate, :NEW.pk, :NEW.c1, :NEW.c2, :OLD.c1, :OLD.c2)
;
ELSIF DELETING THEN
INSERT INTO b(gb, dt, pk, old_c1, old_cd)
VALUES('D', sysdate, :OLD.pk, :OLD.c1, :OLD.c2)
;
END IF;
END;
CREATE OR REPLACE TRIGGER medal_trigger -- 트리거 생성 AFTER -- 동작시점(before/After) UPDATE OR DELETE OR INSERT -- 트리거 동작을 일으키는 구문 ON AAA -- 트리거 걸린 테이블 REFERENCING NEW AS NEW OLD AS OLD -- OLD(변경전) 와 NEW(변경후) 를 정의하는 부분으로 보통 생략함 FOR EACH ROW -- 행트리거임(이구문이 없으면 문장트리거) WHEN (NEW.NUM >= '17' OR OLD.NUM >= '17') -- 트리거 동작을 일으키는 조건 DECLARE -- 선언부(변수 선언) BEGIN -- 작업의 시작 END; -- 작업의 끝 /