oracle 的 exit,oracle存储过程中return和exit的区别分析

oracle存储过程中的return和exit在oracle,对于初学者来讲有时容易搞混。

本文针对return与exit,取二个例子,供大家学习参考,以加深理解。

例1:

复制代码 代码如下:

create or replace procedure Test5(o_cellphone in varchar2) is

v_cellphone cc_quiz_stat.cellphone %type;

v_name cc_quiz_stat %rowtype;

v_state cc_quiz_stat.state %type;

begin

declare

cursor cur_cc is

select * from cc_quiz_stat;

cursor cur_jc(v_n varchar2) is

select state from cc_quiz_stat;

begin

open cur_cc;

loop

fetch cur_cc

into v_name;

exit when cur_cc%notfound;

open cur_jc(o_cellphone);

loop

fetch cur_jc

into v_state;

exit when cur_jc %notfound;

if (o_cellphone = v_name.cellphone) then

return;

else

dbms_output.put_line('手机号' || v_name.cellphone || '省份' ||

v_state);

end if;

end loop;

close cur_jc;

end loop;

close cur_cc;

end;

end Test5;

执行结果:

手机号18900000000省份全国

手机号18900000000省份南京

手机号18900000000省份天津

手机号18900000000省份 上海

手机号18900000000省份北京

例2:

复制代码 代码如下:

create or replace procedure Test5(o_cellphone in varchar2) is

v_cellphone cc_quiz_stat.cellphone %type;

v_name cc_quiz_stat %rowtype;

v_state cc_quiz_stat.state %type;

begin

declare

cursor cur_cc is

select * from cc_quiz_stat;

cursor cur_jc(v_n varchar2) is

select state from cc_quiz_stat;

begin

open cur_cc;

loop

fetch cur_cc

into v_name;

exit when cur_cc%notfound;

open cur_jc(o_cellphone);

loop

fetch cur_jc

into v_state;

exit when cur_jc %notfound;

if (o_cellphone = v_name.cellphone) then

exit;

else

dbms_output.put_line('手机号' || v_name.cellphone || '省份' ||

v_state);

end if;

end loop;

close cur_jc;

end loop;

close cur_cc;

end;

end Test5;

执行结果:

手机号18900000000省份全国

手机号18900000000省份南京

手机号18900000000省份天津

手机号18900000000省份 上海

手机号18900000000省份北京

手机号18900000002省份全国

手机号18900000002省份南京

手机号18900000002省份天津

手机号18900000002省份 上海

手机号18900000002省份北京

手机号18900000003省份全国

手机号18900000003省份南京

手机号18900000003省份天津

手机号18900000003省份 上海

手机号18900000003省份北京

手机号18900000004省份全国

手机号18900000004省份南京

手机号18900000004省份天津

手机号18900000004省份 上海

手机号18900000004省份北京

说明:

return 跳出整个循环,本循环后面的不再执行,

exit 跳出本次循环,下次继续执行本次循环。

通过以上二个示例,希望你对oracle存储过程中的return与exit,已经有一个更清晰的认识。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值