zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

Oracle测试存储 区别 过程 概述 return exit
2023-06-13 09:14:46 时间
复制代码代码如下:

createorreplaceprocedureTest5(o_cellphoneinvarchar2)is
v_cellphonecc_quiz_stat.cellphone%type;
v_namecc_quiz_stat%rowtype;
v_statecc_quiz_stat.state%type;
begin
declare
cursorcur_ccis
select*fromcc_quiz_stat;
cursorcur_jc(v_nvarchar2)is
selectstatefromcc_quiz_stat;
begin
opencur_cc;
loop
fetchcur_cc
intov_name;
exitwhencur_cc%notfound;
opencur_jc(o_cellphone);
loop
fetchcur_jc
intov_state;
exitwhencur_jc%notfound;
if(o_cellphone=v_name.cellphone)then
return;
else
dbms_output.put_line("手机号"||v_name.cellphone||"省份"||
v_state);
endif;
endloop;
closecur_jc;
endloop;
closecur_cc;
end;
endTest5;

执行结果
手机号18900000000省份全国
手机号18900000000省份南京
手机号18900000000省份天津
手机号18900000000省份上海
手机号18900000000省份北京
复制代码代码如下:

createorreplaceprocedureTest5(o_cellphoneinvarchar2)is
v_cellphonecc_quiz_stat.cellphone%type;
v_namecc_quiz_stat%rowtype;
v_statecc_quiz_stat.state%type;
begin
declare
cursorcur_ccis
select*fromcc_quiz_stat;
cursorcur_jc(v_nvarchar2)is
selectstatefromcc_quiz_stat;
begin
opencur_cc;
loop
fetchcur_cc
intov_name;
exitwhencur_cc%notfound;
opencur_jc(o_cellphone);
loop
fetchcur_jc
intov_state;
exitwhencur_jc%notfound;
if(o_cellphone=v_name.cellphone)then
exit;
else
dbms_output.put_line("手机号"||v_name.cellphone||"省份"||
v_state);
endif;
endloop;
closecur_jc;
endloop;
closecur_cc;
end;
endTest5;

执行结果
手机号18900000000省份全国
手机号18900000000省份南京
手机号18900000000省份天津
手机号18900000000省份上海
手机号18900000000省份北京
手机号18900000002省份全国
手机号18900000002省份南京
手机号18900000002省份天津
手机号18900000002省份上海
手机号18900000002省份北京
手机号18900000003省份全国
手机号18900000003省份南京
手机号18900000003省份天津
手机号18900000003省份上海
手机号18900000003省份北京
手机号18900000004省份全国
手机号18900000004省份南京
手机号18900000004省份天津
手机号18900000004省份上海
手机号18900000004省份北京

return跳出整个循环,本循环后面的不再执行,
exit跳出本次循环,下次继续执行本次循环