首页 > 数据库 > Oracle > oracle触发器与:new,:old的使用
:new --为一个援用最新的列值;
:old --为一个援用以前的列值; 那两个变量只有在利用了要害字 "FOR EACH
ROW"时才存在.且update语句两个皆有,而insert只有:new ,delect 只有:old;
系统中的触发器实例:
create or replace trigger JBPM.TIB_DEPLOYBYMOVEPAPER
before
insert
on
JBPM.DEPLOYBYMOVEPAPER for each
row
declare
begin
-- Column "ID" uses sequence SEQUENCE_38
case
when inserting then
select SEQUENCE_38.NEXTVAL INTO :new.ID from dual;//主键自删
zero_today
:="0391"||to_char(sysdate,"yymmdd")||lpad(to_char(0),4,"0");//lpad函数界说字符串少度
when updating("num") then//:new、:old皆可以用>
if
:new.num!=:old.num then
end if;
end case;
-- Errors handling
exception
end;
/
去自
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21459650/viewspace-1116895/ ,如需转载,请注明出处,否则将追究法律责任。