plsql中函数带out参数可传递多个返回值

2017-02-04  本文已影响0人  夜雨惊风醉看流年过

代码:

create or replace function get_info

(pname varchar2,  djob out varchar2)

return varchar2

is

v_job emp.job%type;

begin

select a.job ,b.dname into v_job,djob

from emp a,dept b

where a.deptno=b.deptno

and upper(ename)=upper(pname);

return v_job;

end;

-----------------------------------------------------------调用

declare

djob varchar2(100);

out_job varchar2(100);

begin

out_job:=get_info('scott',djob);

dbms_output.put_line('a工作是:'||out_job);

dbms_output.put_line('b工作是:'||djob);

end;

很奇怪,返回值只有一个v_job,但是通过两次输出,却能将djob也输出,按我的理解,这个out参数应该具有和return相同的功能,是对return的一个补充,当要输出多个值的时候,可以用out参数输出,但是输出类型只能与返回值类型一致,因此感觉这个功能其实局限性挺大

上一篇 下一篇

猜你喜欢

热点阅读