Oracle 存储过程 in、out、in out 参数的使用方法

1. in 参数

用于接收参数,在子程序内部,不能进行修改。默认的参数模式:in

案例:

-- 声明存储过程
create or replace procedure pro_in(p_num in number)
is
begin
  dbms_output.put_line(p_num);
  -- p_num:=10;--  添加此行编译报错,in 参数不能赋值
end pro_in;
-- 调用
declare
test number:=1;
begin
  pro_in(test);
  dbms_output.put_line(test);
end;

结果: 输出 两个 1

2.out 参数

输出模式的参数,用于输出值,会忽略传入的值。在子程序内部可以对其进行修改。

调用时 参数需要使用变量.

案例:

-- 声明存储过程
create or replace procedure pro_out(p_num out number)
is
begin
  dbms_output.put_line(p_num);
  p_num:=10;
end pro_out;
-- 调用
declare
test number:=1;
begin
  pro_out(test);
  dbms_output.put_line(test);
end;

结果: 忽略输入的值,输出一个 空,和一个 10

3. in out 参数

能接收传入的实参值;在子程序内部可以修改,可以输出

调用时 参数需要使用变量.

案例:

-- 声明存储过程
create or replace procedure pro_in_out(p_num in out number)
is
begin
  dbms_output.put_line(p_num);
  p_num:=10;
end pro_in_out;
-- 调用
declare
test number:=1;
begin
  pro_in_out(test);
  dbms_output.put_line(test);
end;

结果: 输出一个 1 和 一个 10

  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值