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;
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值