oracle 存储过程 参数(in | out | in out)的使用

存储过程传参方式


1.in 传参


create or replace procedure p_name( param_name  in param_type) is

--声明了一个调用时传进来的参数 和 它的类型 


验证:

create or replace procedure p_name( param_name  in number) is

begin

dbms_output.put_line(param_name);--打印param_name

param_name:=33;

end p_name;


调用此过程

declare

aaa number:=30;

begin

p_name(aaa);

dbms_output.put_line(aaa);--打印aaa

end;

结果:打印2次30

2.out 传参

create or replace procedure p_name(param_name out param_type) is

--声明了一个调用后返回的参数和它的类型

验证:

create or replace procedure p_name( param_name  out number) is

begin

dbms_output.put_line(param_name);--打印param_name

param_name:=33;

end p_name;


调用此过程

declare

aaa number:=30;

begin

p_name(aaa);

dbms_output.put_line(aaa);--打印aaa

end;

结果:打印一次null ---因为aaa 根本传不进去  只是接收返回值而已

            打印一次33   ----过程将33返回并赋值给aaa

3.in out 传参

create or replace procedure p_name(param_name in out param_type) is

--声明了一个调用时传进来调用后返回的参数及类型

验证:

create or replace procedure p_name( param_name  in out number) is

begin

dbms_output.put_line(param_name);--打印param_name

param_name:=33;

end p_name;


调用此过程

declare

aaa number:=30;

begin

p_name(aaa);

dbms_output.put_line(aaa);--打印aaa

end;

结果:打印一次30  ---30 通过 in 传了进去

            打印一次33 -----33通过out 返回并赋值给aaa


注:参数类型也可以这样定义  表明.列明%type  --参数类型为表中的那个列的参数类型  声明参数时也可以给他赋值 如 param_name in varchar2(10):='aaa'



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值