对题目的意思不太理解。
my_array  中存放不同的字段的列表:
如:my_array(0)='f1,f2,f3'
    my_array(1)='f1,f3,f4'
for i in 0..5
                                 
    sql_stmt:='select ' || my_array(i) || ' from table';
    end loop;

解决方案 »

  1.   

    你的意思应该是:你的sql语句是根据条件动态生成的吧。
    用动态sql去执行它,通过dbms_sql包(oracle8或以上支持)或execute immediate(本地动态sql,oracle8i或以上支持)可以执行动态sql语句。
    另外执行动态的sql也可以通过定义ref cursor实现。
      

  2.   

    我在procedure中有以下语句

    select * from &table_name;

    为何会出现PLS-00103的错误,而在sqlplus中单独执行select * from &table_name;则没有问题.
    高手帮忙.谢谢!
      

  3.   

    oracle中的存储过程不能直接返回结果集!