PL/SQL中如何实现等待execute immdiate执行完成后再执行下一条指令? 在一个循环中使用execute immdiate 'insert into table select * from table where ',执行时发现execute immdiate并不等待上次的SQL执行完成便进入下一次循环,数据库的性能有限,并发太多恐影响性能,请问,有什么办能让某次循环的insert into执行完成后再进入下次循环么?小生谢过了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要在pl/sql运行中间等待..execute..后面再加个loop,添加判定条件,满足这这个条件再end loop,并进入下一次循环? 不会吧,execute immediate也会等待上面的语句执行结束以后才会执行下面的语句的我做的实验SQL> begin 2 execute immediate 'insert into tttt1 select rownum, (rownum+1) from dual connect by rownum <= 1000000'; 3 dbms_output.put_line('end'); 4 end; 5 /endPL/SQL 过程已成功完成。end是等待了好就才打印出来的。所以是会等待的,plsql里都是一步一步的执行的。检查一下你的程序看看是怎么回事 调试跟执行不是完全一样的吧可能是oracle的优化吧,不过我只记得对commit的优化http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams164.htm 谢谢各位了,特别谢谢2楼,经过测试,确实是执行完才执行下一条指令,我是因为在EM中看到多条Insert TOP ACTIVE的出现,才误以为是并发执行,其实,EM中的TOP ACTIVE是有延时的,某些已经过期的活动也会出现在里面(当顶级活动很少的时候)。 Oracle返回结果集 一个SQL语句问题 jsp网页中不能向oracle数据库表中update或insert中文数据 ORACLE数据库windows XP中文版导入windows XP英文版出错 求一SQL语句(oracle 9i) 触发器的错误提示为什么不能显示某个已经声明的参数? 如何配置management server? 入门问题,请大家看看 超难问题 请教:ORACLE RAC 磁盘阵列误格式化 求解决思路!!急,请大神。 大家来聊聊同样表结构的大量数据对比解决方法 ((急)) Oralce列转行难题...不是行转列 ?????????
execute..后面再加个loop,
添加判定条件,满足这这个条件再end loop,并进入下一次循环?
SQL> begin
2 execute immediate 'insert into tttt1 select rownum, (rownum+1) from dual co
nnect by rownum <= 1000000';
3 dbms_output.put_line('end');
4 end;
5 /
endPL/SQL 过程已成功完成。end是等待了好就才打印出来的。所以是会等待的,plsql里都是一步一步的执行的。检查一下你的程序看看是怎么回事