oracle存储过程返回值

Posted 信行合一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle存储过程返回值相关的知识,希望对你有一定的参考价值。

oracle的存储过程只要返回的值是指定的类型就行了

有的时候我们会看到这种写法的存储过程

create or replace function func_add(num1 in number,num2 in number)
return number is r number(3);
num3 number(3);
begin
num3:=num1+num2;
r:=num3;
return(r);
end;

开始一看似乎返回值的时候必须要返回r才对,实际上只是写法的问题我们可以修改上面存储过程的格式如下:

create or replace function func_add(num1 in number,num2 in number)
return number 

is 

r number(3);
num3 number(3);
begin
num3:=num1+num2;
r:=num3;
return(r);
end;

r和num3只是临时使用的变量而已,你可以返回它们也可以返回其他只要是num类型的值就可以。

如下:

create or replace function cc(i in number)

return number
is
i1 number;
i2 number;
i3 number;

begin

if i=1 then
i1:=i;
return i1;
elsif i=2 then
i2:=i;
return i2;
elsif i=3
i3:=i;

return i3;

else

return 0;

end if;


end;

以上是关于oracle存储过程返回值的主要内容,如果未能解决你的问题,请参考以下文章

oracle中的存储过程如何返回查询到的多个值?

请问各位大侠:oracle的存储过程返回值如果有0.2等这类小数时,为何前面的0会不显示,如何解决

sqlalchemy 调用 mssql存储过程如何获取返回值?

如何从 Oracle 存储过程中获取两个返回值

oracle如何执行存储过程以及如何返回一个table

oracle存储过程返回值