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触发器,可根据具体需求选择记录旧记录仍是新记录。
相关文章
相关标签/搜索