博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Oracle触发器中的new和old

Posted on 2012-08-02 16:11  开拓者2012  阅读(1696)  评论(0编辑  收藏  举报

对于Oracle触发器中的new和old

:new --为一个引用最新的列值;
:old --为一个引用以前的列值;

这两个变量只有在使用了关键字 "FOR EACH ROW"时才存在.且update语句两个都有,而insert只有:new ,delect 只有:old;

CREATE OR REPLACE TRIGGER TRIG_TZTG_ROW
AFTER INSERT OR UPDATE ON T_TZTG
FOR EACH ROW 

newState integer;
oldState integer;
intId integer;
strF_name varchar2(200);
lrrq date;
newQunId number;
intQuntype integer;
strQunSwjgdm varchar2(50);

BEGIN
newState := :new.state;
oldState := :old.state;
strSwjgs := :new.swjg_dm;
strSwrys := :new.swry_dm;
intId := :new.id;
strF_name := :new.f_name;
lrrq := :new.lrrq;
newQunId := :new.qunid;