oracle存储过程中return和exit区别概述及测试

所属分类: 数据库 / oracle 阅读数: 254
收藏 0 赞 0 分享
复制代码 代码如下:

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省份北京
复制代码 代码如下:

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下的Java分页功能_动力节点Java学院整理

分页的时候返回的不仅包括查询的结果集(List),而且还包括总的页数(pageNum)、当前第几页(pageNo)等等信息,所以我们封装一个查询结果PageModel类,具体实现代码,大家参考下本文
收藏 0 赞 0 分享

Win7 64位下PowerDesigner连接64位Oracle11g数据库

这篇文章主要为大家详细介绍了Win7 64位下PowerDesigner连接64位Oracle11g数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

PowerDesigner15.1连接oracle11g逆向生成ER图

这篇文章主要为大家详细介绍了PowerDesigner15.1连接oracle11g逆向生成ER图的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

解决Oracle批量修改问题

这篇文章主要介绍了解决Oracle批量修改问题,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle的out参数实例详解

这篇文章主要介绍了Oracle的out参数实例详解的相关资料,这里提供实例帮助大家理解这部分内容,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Oracle在out参数中访问光标

这篇文章主要介绍了详解Oracle在out参数中访问光标的相关资料,这里提供实例代码帮助大家学习理解这部分内容,希望能帮助到大家,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Oracle调试存储过程

这篇文章主要介绍了详解Oracle调试存储过程的相关资料,这里提供实例帮助大家学习理解这部分内容,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle的CLOB大数据字段类型操作方法

VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Database中的字段类型,不同场景的最大长度不同。接下来通过本文给大家分享Oracle的CLOB大数据字段类型操作方法,感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

oracle中左填充(lpad)和右填充(rpad)的介绍与用法

这篇文章主要跟大家介绍了关于oracle中左填充(lpad)和右填充(rpad)的相关资料,通过填充我们可以固定字段的长度,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
收藏 0 赞 0 分享

Oracle回滚段使用查询代码详解

这篇文章主要介绍了Oracle回滚段使用查询代码详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多