Oracle 插入后触发器中的旧伪记录
我从一本书中复制了以下测试触发器:Oracle 插入后触发器中的旧伪记录,oracle,triggers,Oracle,Triggers,我从一本书中复制了以下测试触发器: TRIGGER bef_ins_ceo_comp BEFORE INSERT ON ceo_compensation FOR EACH ROW DECLARE PRAGMA AUTONOMOUS_TRANSACTION; BEGIN INSERT INTO ceo_comp_history VALUES (:NEW.name, :OLD.compensation, :NEW.
TRIGGER bef_ins_ceo_comp
BEFORE INSERT
ON ceo_compensation
FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO ceo_comp_history
VALUES (:NEW.name,
:OLD.compensation, :NEW.compensation,
'AFTER INSERT', SYSDATE);
COMMIT;
END;
正如您在向ceo_comp_history表插入新记录时所看到的:使用OLD.compensation值。我想知道:旧的伪记录是从哪里来的?保留:新值和:旧值不是更新触发器。我猜
:旧值将全部为空。代码可能只是更新触发器的复制/粘贴是的,作者自己暗示插入触发器没有旧记录。