您的位置:首页 > 其它

ORA-04091 错误,我换位思考的解决方法

2013-02-07 12:43 357 查看
table : id ,state ,update_date

当state修改时 修改当前的修改时间

网上大部分说什么记录到备份表,然后返写,感觉麻烦,还有什么自治事务 但是不能对当前表操作会造成死锁

红色部分为修改的解决方案.欢迎拍砖,

create or replace trigger service_order_update

after update on service_order

for each row

declare

begin

if updating then

if :new.state <> :old.state then

update service_order set update_date = sysdate where id =:old.id

end if;

end if;

end service_order_update;

create or replace trigger service_order_update

before update on service_order

for each row

declare

begin

if updating then

if :new.state <> :old.state then

:new.update_date := sysdate;

end if;

end if;

end service_order_update;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: