nocopy

in out nocopy 、out nocopy 引用传递
in out 、out 副本传递 复制副本-->传入副本-->修改副本-->正常结束、传出副本 
                                       复制副本-->传入副本-->修改副本-->不正常结束、不传出副本  
SQL> declare
  2    a number:=1;
  3    procedure proc(a in out number)
  4      is
  5  
  6      begin
  7        a:=10;
  8        raise no_data_found;
  9  /*    exception
 10        when others then
 11          null;*/
 12      end;
 13  begin
 14    proc(a);
 15    dbms_output.put_line(a);
 16  exception
 17    when others then
 18      dbms_output.put_line('after error:'||a);
 19  end;
 20  /
after error:1
PL/SQL procedure successfully completed


SQL> 
SQL> declare
  2    a number:=1;
  3    procedure proc(a in out number)
  4      is
  5  
  6      begin
  7        a:=10;
  8        raise no_data_found;
  9      exception
 10        when others then
 11          null;
 12      end;
 13  begin
 14    proc(a);
 15    dbms_output.put_line(a);
 16  exception
 17    when others then
 18      dbms_output.put_line('after error:'||a);
 19  end;
 20  /
10
PL/SQL procedure successfully completed


SQL> 
SQL> declare
  2    a number:=1;
  3    procedure proc(a in out nocopy number)
  4      is
  5  
  6      begin
  7        a:=10;
  8        raise no_data_found;
  9      exception
 10        when others then
 11          null;
 12      end;
 13  begin
 14    proc(a);
 15    dbms_output.put_line(a);
 16  exception
 17    when others then
 18      dbms_output.put_line('after error:'||a);
 19  end;
 20  /
10
PL/SQL procedure successfully completed


SQL> 
SQL> declare
  2    a number:=1;
  3    procedure proc(a in out nocopy number)
  4      is
  5  
  6      begin
  7        a:=10;
  8        raise no_data_found;
  9  /*    exception
 10        when others then
 11          null;*/
 12      end;
 13  begin
 14    proc(a);
 15    dbms_output.put_line(a);
 16  exception
 17    when others then
 18      dbms_output.put_line('after error:'||a);
 19  end;
 20  /
after error:10
PL/SQL procedure successfully completed


SQL> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值