触发器在同一个表中的另一列中保存旧记录oracle

时间:2016-02-03 15:04:00

标签: oracle

我有一个名为customer_history的表 其中包括customer_id,Visit_Date,Action_Done 我添加了2个新列old_visit_date,old_action_date并创建了以下触发器,其中更新visit_date时要将旧日期列添加到old_action_date列中,如下所示:

CREATE OR REPLACE TRIGGER customer_history 
  BEFORE UPDATE
 OF visit_date
 ON TESTING FOR EACH ROW
Declare visit_date date;
BEGIN
:NEW.old_visit_date    := visit_date ; 
END;
/

但是在更新表时,old_visit_date不会更新???? !!!!

1 个答案:

答案 0 :(得分:0)

使用:

BEGIN
   IF UPDATING ('VISIT_DATE') THEN 
       :NEW.old_visit_date    := OLD.visit_date ; 
   END IF;
END;

/