oracle 11g查询错误



当我在oracle 11g SQL*Plus中执行此查询时,我的会话正在挂起:

SQL> 
 declare maxid number;
 begin
  delete from  measure_details
 where id in (select id from general_measures  where code in ('12345','12346'));
 delete from general_measures
 where code in (select code from general_measures  where code in ('12345','12346'));
 end;
 /

如果它"挂起",那么这可能意味着您试图删除的一个或多个行被另一个会话中的未提交事务锁定-甚至可能是您自己的另一个会话?

如果您在这种DML中面临死锁,我的第一个怀疑是非索引外键。看看Ask Tom的这篇文章。如果是这样的话。您所需要做的就是创建适当的索引。但是,也许你的表太大了,需要一些时间来完成

相关内容

  • 没有找到相关文章

最新更新