oracle存储过程和函数的调用

--创建存储过程
create or replace procedure pro_add(num1 number,num2 number,r out number)
as
begin
r:=num1+num2;
end;


create or replace procedure pro_minus(num1 number,num2 number,r out number)
as
begin
r:=num1-num2;
end;


--创建函数
create or replace function fcn_add(num1 number,num2 number)
return number is r number;
begin
r:=num1+num2;
return r;
end;


create or replace function fcn_minus(num1 number,num2 number)
return number is
begin
return num1-num2;
end;


create or replace function fcn_minus1(num1 number,num2 number)
return number is
r number;
r1 number;
begin


r:=num1-num2;
r1:=num2-num1;


if r-r1>0 then
return r;
else
return r1;
end if;


end;


--调用存储过程
declare
n1 number;
n2 number;
r number;
fr number;
begin
n1:=3;
n2:=2;
pro_add(n1,n2,r);
dbms_output.put_line('相加的结果:'||r);
--1可以使用这种方式来获取存储过程的返回值
pro_minus(n1,n2,r);
--2也可以使用这种方式来获取存储过程的返回值
pro_minus(num1 => n1,num2 => n2,r => r);
--如果使用1的方式那么所有的参数都需要使用这种方式传进去
--如果使用2的方式那么所有的参数都需要使用相同的方式去写
--第二种方式使用的是相关性
dbms_output.put_line('相减的结果:'||r);
end;


--调用function
declare
n1 number;
n2 number;
r number;
begin


--获取函数的返回值的时候只需要按照正常的方式去调用它就行了
n1:=3;
n2:=5;
r:=fcn_add(num1 => n1,num2 => n2);
dbms_output.put_line('相加的结果:'||r);
r:=fcn_minus(num1 => n1,num2 => n2);
dbms_output.put_line('使用fcn_minus相减的结果:'||r);
r:=fcn_minus1(num1 => n1,num2 => n2);
dbms_output.put_line('使用fcn_minus1相减的结果:'||r);


end;





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值