Oracle觸發器中的NEW與OLD

 如刪除觸發器 ALARMRECORD_TG :web

CREATE OR REPLACE TRIGGER ALARMRECORD_TG AFTERide

DELETE ON "TYZHUSER"."ALARMRECORD" REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
Begin
Insert into OldALARMRECORD values(:old.recordid,:old.cardid,:old.alarmstate,:old.alarmid,:old.alarmdetail,:old.webalarm,
:old.webalarmtime,:old.smsalarm,:old.smsalarmtime,:old.recordtime,:old.readerid,:old.otherinfo,
:old.tqalarm,:old.tqalarmtime);
End;
 
要說的是   :old  與:new 的區別:
 
顧名思義,new是新插入的數據,old是原來的數據

insert只會有new,表明着要插入的新記錄

delete只會有old,表明着要刪除的記錄

update因爲執行的是先刪除舊的記錄,再插入新的記錄,所以new和old都會有,且含義與上面的相同

注:update觸發器,可根據具體需求選擇記錄舊記錄仍是新記錄。
相關文章
相關標籤/搜索