oracle 内部存储过程调用函数吗,oracle存储过程和函数的调用

oracle存储过程和函数的调用

--创建存储过程

create or replace procedure pro_add(num1 number,num2 number,r out number)

as

begin

r:=num1+num2;

end;

www.2cto.com

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;

www.2cto.com

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;

www.2cto.com

--调用function

declare

n1 number;

n2 number;

r number;

begin

www.2cto.com

--获取函数的返回值的时候只需要按照正常的方式去调用它就行了

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;

作者 tengdazhang770960436

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值