说明一点,带out参数的字定义函数不能用于 SQL语句,只能在PL/SQL程序里
如下例子,返回两个3个数字
set serveroutput on
declare
v_1 number;
v_2 number;
v_3 number;
function my_f(p_1 in number,p_2 out number,p_3 out number) return number
as
v_id number(10):=p_1;
begin
p_2 := 200;
p_3 := 300;
return v_id;
end;
begin
v_1:=my_f(100,v_2,v_3);
dbms_output.put_line('v_1 is '||v_1);
dbms_output.put_line('p_2 is '||v_2);
dbms_output.put_line('p_3 is '||v_3);
end;
/
v_1 is 100
p_2 is 200
p_3 is 300
PL/SQL procedure successfully completed.
或者
create or replace function my_f(p_1 in number,p_2 out number,p_3 out number) return number
as
v_id number(10):=p_1;
begin
p_2 := 200;
p_3 := 300;
return v_id;
end;
/
declare
v_1 number;
v_2 number;
v_3 number;
begin
v_1:=my_f(100,v_2,v_3);
dbms_output.put_line('v_1 is '||v_1);
dbms_output.put_line('p_2 is '||v_2);
dbms_output.put_line('p_3 is '||v_3);
end;
/
v_1 is 100
p_2 is 200
p_3 is 300
PL/SQL procedure successfully completed.
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/94041/viewspace-967859/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/94041/viewspace-967859/