CREATE OR REPLACE TRIGGER doc_1_trg
before INSERT OR UPDATE OF bin_id
ON doc_1
FOR EACH ROW
BEGIN
DBMS_OUTPUT.PUT_LINE('OLD.bin_id : ' || :OLD.bin_id);
DBMS_OUTPUT.PUT_LINE('NEW.bin_id : ' || :NEW.bin_id);
IF (:OLD.bin_id <> :NEW.bin_id)
THEN
DBMS_OUTPUT.PUT_LINE('--1--');
INSERT INTO doc_his_1 (id,
old_bin_id,
new_bin_id)
VALUES (:NEW.id,
:OLD.bin_id,
:NEW.bin_id);
END IF;
END;
/
insert into doc_1
values('doc-1','bin-1')
;
이렇게 하면 분명히 :OLD.bin_id 하고 :NEW.bin_id 하고 다른데 왜 안들어갈까요..?
insert 는 행단위가 아니라 그럴까요? .... 방법이 없을까요?
if~~ 문을 빼면 수행되긴하는데...
|