2009년 3월 16일 월요일

TRIGGER hddht_mtr_blk_before

CREATE OR REPLACE TRIGGER hddht_mtr_blk_before
BEFORE INSERT OR DELETE
ON hddht_mtr_blk
FOR EACH ROW
BEGIN
IF INSERTING
THEN
IF :NEW.hmb_div = 'B2'
THEN
INSERT INTO hddht_mtr_blk_trg
(seq, hmb_div, hmb_dat, hmb_date,
hmb_rgt_mdh
)
VALUES (:NEW.seq, :NEW.hmb_div, :NEW.hmb_dat, :NEW.hmb_date,
:NEW.hmb_rgt_mdh
);
END IF;
END IF;

IF DELETING
THEN
IF :NEW.hmb_div = 'B2'
THEN
UPDATE hddht_mtr_blk_trg
SET hmb_del_dtm = SYSDATE
WHERE seq = :OLD.seq;

IF SQL%NOTFOUND
THEN
INSERT INTO hddht_mtr_blk_trg
(seq, hmb_div, hmb_dat,
hmb_date, hmb_rgt_mdh, hmb_del_dtm
)
VALUES (:OLD.seq, :OLD.hmb_div, :OLD.hmb_dat,
:OLD.hmb_date, :OLD.hmb_rgt_mdh, SYSDATE
);
END IF;
END IF;
END IF;
END;

댓글 없음:

댓글 쓰기