create or replace trigger ggxx_s_update after update on up_org_station for each rowdeclare -- local variables here PRAGMA AUTONOMOUS_TRANSACTION; begin GGXX; COMMIT; end ggxx_s_update;这个的意思是up_org_station 表发生更新操作时执行存储过程GGXX可是up_org_station 更新操作后得到的数据总是之前的,不如从1改为2,存储过程得到的数据是1,从2改为3,得到的就是2,这是怎么回事呢?
create or replace trigger ggxx_s_update BEFORE update on up_org_station for each rowdeclare -- local variables here PRAGMA AUTONOMOUS_TRANSACTION;BEGIN update up_org_station_tmp SET 字段1= :NEW.字段1, --******** -- 剩下的字段你自己写 up_org_station_tmp 表结构与up_org_station一致 WHERE up_org_station_tmp.id = :OLD.id COMMIT; GGXX; --存储过程中 up_org_station 改为 up_org_station_tmp COMMIT;end ggxx_s_update;
存储过程是干嘛用的,有没有对数据进行操作?还是只是输出结果? 追问 存储过程执行的是 将更新后的数据取出来插入另一个表里 可以取出来的总是更新之前的数据 追答 把你过程里的语句贴上来 追问 太长了 贴不上来 好像不是存储过程的问题 是PRAGMA AUTONOMOUS_TRANSACTION; 的问题