请问:如何在存储中动态调用FUNCTION,其中函数名是动态生成的,函数的入口参数个数,类型是固定的?

解决方案 »

  1.   

    execute immediate ':v:=functionname(pa,pb)' using A
      

  2.   

    execute immediate 对8i以上的版本好用(但能否动态调用函数,我没有试过)
      

  3.   

    SQL> create or replace procedure p_test
      2  as
      3  v_str varchar2(200);
      4  v_out varchar2(20);
      5  v_in varchar2(20);
      6  begin
      7  v_str := 'select to_char(:a,''yyyymmdd'') from dual';
      8  execute immediate v_str into v_out using sysdate-1;
      9  dbms_output.put_line(v_out);
     10  end p_test;
     11  /过程已创建。SQL> exec p_test;
    20031230PL/SQL 过程已成功完成。SQL>
      

  4.   

    dbms_output.put_line只能输出一行,如果要输出多行,该怎样做?用游标?