日期:2014-05-16  浏览次数:20912 次

oracle 9下批处理语句会顺序执行吗?

begin
  insert into b (id,col1,col2) select id,col1,col2 from a where id in (1,2);
  delete from  a where id in (1,2);
end;

我这个是用delphi开发的程序执行的sql语句
目的是把a中的多条查出的记录插到b中,并最后删除a中的查出的记录。根据id来查询和删除。
有人反映说这样会出现b会没有记录插入,a表的那些查出的记录也会被删除。
是这样吗?我在oracle 10g下测试没问题。我这边没oracle9的环境,谁能帮测试一下?
------解决方案--------------------
代码没问题!

与oracle版本无关;
------解决方案--------------------
这种写法是没有问题的,请相信你的能力,记得写完后commit就可以了
------解决方案--------------------
同一事务内不会发生这样情况,除非有其他事务并行了