日期:2014-05-17  浏览次数:20894 次

plsql里面怎么实现如下for循环的效果?
我要执行    select * from a01.temp
            select * from a02.temp
                   .                                               
                   .
                   .
            select * from a500.temp
有没有办法定义一个变量@a,然后直接从a01到a500,然后我FOR @a = a01 to a500,select * from @a.temp就可以在plsql看到我要的效果,这个要怎么写呢?

------解决方案--------------------
pl/sql正常情况下不提供select的数据至屏幕,所以。。。

可以先利用spool和pl/sql块中使用for循环生成需要的sql脚本

然后再调用此sql脚本实现数据输出的功能

set serveroutput on
spool my.sql
declare
  v_int ......
begin
  for ... loop
    dbms_output.put_line('select * from a'
------解决方案--------------------
v_int
------解决方案--------------------
'.temp;');
    ...
  end loop;
end;
/
spool off

start my.sql

------解决方案--------------------
引用:
我要执行    select * from a01.temp
            select * from a02.temp
                   .