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值。我想知道:旧的伪记录是从哪里来的?保留:新值和:旧值不是更新触发器。

我猜
:旧值将全部为空。代码可能只是更新触发器的复制/粘贴

是的,作者自己暗示插入触发器没有旧记录。