'[email protected] (:1,:2);'这是一个过程吗?

解决方案 »

  1.   

    create or replace function gm_of_test(i in varchar) return varchar is
    begin
           return i;
    end gm_of_test;
     declare 
        a varchar(100);
    begin
        a:='select '||'[email protected] (:1) from dual';  
        EXECUTE IMMEDIATE a into a using 'aaa';
        DBMS_OUTPUT.PUT_LINE(a);
    end;
      

  2.   

    gm_of_test是一个过程
    GBJ0.WORLD是一个dblinka:='[email protected] (:1,:2);'; 这是使用过程的字符串我用EXECUTE IMMEDIATE 分析并运行字符串a ,然后得到gm_of_test里返回的参数a。问题出在gm_of_test的传出参数上,只是传入参数到gm_of_test并没有问题。希望高手帮忙!谢谢了
      

  3.   

    begin
        a:='[email protected] (:1,:2);';  
        EXECUTE IMMEDIATE 'begin ' || a || ' end;' using 'aaa', b;
    tobegin
        a:='exec [email protected] (:1,:2)'; 
    EXECUTE IMMEDIATE a using 'aaa', b;
      

  4.   

    declare 
        a varchar(100);
        b varchar(100);
    begin
        a:='[email protected] (:1,:2);';  
        EXECUTE IMMEDIATE 'begin ' || a || ' end;' using 'aaa',out b;
        DBMS_OUTPUT.PUT_LINE(b);
    end;
      

  5.   

    谢谢 ORARichard(没钱的日子......) 
    但是function gm_of_test只能有一个返回值,我想的是用过程获得多个返回值