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