trigger:每次update table1,table2字段值自增1,不运行?
create or replace trigger afupdate
after update on contact
referencing new as new old as old
for each row
declare
v_registerday_old table2.registerdayold%type; --记录修改前的内容;
v_times table2.times%type; --记录修改次数的变量
v_count number;
select count(*) into v_count from table2 where id like ':old.id'; --table2 为历史记录表,更新table1.registerday字段时,判
断table2是否有记录
if v_count>0 then
select max(times) into v_times form table2 where id like ':old.id';
v_times:=v_times+1; --此句没有执行???
else
v_times:=1; --如果table2 中没有记录,则;
end if;
if :new.registerday<>:old.registerday then
v_registerdayold:=null;
else
v_registerdayold:=:old.registerday; --记录修改前的值;
end if;
insert into table2(id,name,registerdayold,times)
values(:new.id,:new.name,v_registerdyaold,v_times);
end afupdate;
想得到的结果:
table1 : 更新前 registerday=2002-01-02
第一次更新 registerday=2003-5-1
第二此更新 registerday=2003-10-10
table2: id name registerdayold times
3 test 2002-01-02 1
3 test 2003-05-0 2