oracle存储过程中return和exit差异概述及测试
发布时间:2021-11-29 10:53:40 所属栏目:教程 来源:互联网
导读:复制代码 代码如下: 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_
复制代码 代码如下: 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 跳出本次循环,下次继续执行本次循环 ![]() (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |