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

 更新时间:2013年02月25日 08:58:56   作者:  
至于return和exit在oracle存储过程中的应用,有些新手朋友们还是比较容易混淆的,本文将针对这两个关键字进行详细对比下,感兴趣的你可以参考下,希望可以帮助到你
复制代码 代码如下:

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数据库中如何按天、周、月、季、年统计数据

    Oracle数据库中如何按天、周、月、季、年统计数据

    我们经常遇到一些需求,需要我们在sql语句中对日期进行分类统计,下面这篇文章主要给大家介绍了关于Oracle数据库中如何按天、周、月、季、年统计数据的相关资料,需要的朋友可以参考下
    2024-03-03
  • Oracle常用函数超详细整理

    Oracle常用函数超详细整理

    Oracle是一种常用的关系型数据库管理系统,提供了许多内置函数,用于处理和操作数据,下面这篇文章主要给大家介绍了关于Oracle常用函数超详细整理的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 如何将Oracle的一个大数据表快速迁移到 Sqlserver2008数据库(图文教程)

    如何将Oracle的一个大数据表快速迁移到 Sqlserver2008数据库(图文教程)

    这篇文章主要介绍了如何将Oracle的一个大数据表快速迁移到 Sqlserver2008数据库(图文教程),本文图文并茂给大家介绍的非常详细,需要的的朋友参考下吧
    2017-05-05
  • 基于oracle中锁的深入理解

    基于oracle中锁的深入理解

    本篇文章是对oracle中的锁进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • oracle查询锁表与解锁情况提供解决方案

    oracle查询锁表与解锁情况提供解决方案

    如果发生了锁等待,我们可能更想知道是谁锁了表而引起谁的等待,本文将详细问您介绍此等问题的解决方法,有这方面需求的朋友可适当参考
    2012-11-11
  • Oracle中查询表结构的6种方法总结

    Oracle中查询表结构的6种方法总结

    工作中查看oracle表结构经常会遇到,下面这篇文章主要给大家介绍了关于Oracle中查询表结构的6种方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • plsql 连接oracle数据库详细配置的方法步骤

    plsql 连接oracle数据库详细配置的方法步骤

    这篇文章主要介绍了plsql 连接oracle数据库详细配置的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • oracle错误代码大全(超详细)

    oracle错误代码大全(超详细)

    本篇文章是对oracle错误代码进行了详细的总结与分析,需要的朋友参考下
    2013-05-05
  • 使用Navicat Premium连接Oracle的方法步骤

    使用Navicat Premium连接Oracle的方法步骤

    这篇文章主要介绍了使用Navicat Premium连接Oracle的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Oracle存储过程游标用法分析

    Oracle存储过程游标用法分析

    这篇文章主要介绍了Oracle存储过程游标用法,结合实例形式分析了游标的使用步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06

最新评论