oracle儲存過程中return和exit區別

2022-04-08 14:24:55 字數 2583 閱讀 9754

oracle儲存過程中return和exit區別

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;

執行結果  www.2cto.com  

手機號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;

www.2cto.com  

執行結果

手機號18900000000省份全國

手機號18900000000省份南京

手機號18900000000省份天津

手機號18900000000省份 上海

手機號18900000000省份北京

手機號18900000002省份全國

手機號18900000002省份南京

手機號18900000002省份天津

手機號18900000002省份 上海

手機號18900000002省份北京

手機號18900000003省份全國

手機號18900000003省份南京

手機號18900000003省份天津

手機號18900000003省份 上海

手機號18900000003省份北京

手機號18900000004省份全國

手機號18900000004省份南京

手機號18900000004省份天津

手機號18900000004省份 上海

手機號18900000004省份北京

return 跳出整個迴圈,本迴圈後面的不再執行,

exit 跳出本次迴圈,下次繼續執行本次迴圈

oracle儲存過程中is和as區別

一直糾結於儲存過程的is與as最近在網上查了巨多資料,總結如下 在儲存過程 procedure 和函式 function 中沒有區別 在檢視 view 中只能用as不能用is 在游標 cursor 中只能用is不能用as。從其定義也可以看出沒什麼區別,要是有估計暫時也很少有人發下 create or...

儲存過程中呼叫儲存過程

use northwind go 儲存過程1 功能 通過員工firstname inputempfirstname 獲得 員工id outid if exists select name from sysobjects where name p getempleeidbyname and type ...

Oracle儲存過程中的異常處理

1.問題 oracle中可以用dbms output.put line來列印提示資訊,但是很容易緩衝區就溢位了。可以用dbms output.enable 1000000 來設定緩衝區的大小。但是有大小,就有可能再溢位 程式寫得太爛,錯誤不斷,不好意思 於是想把異常資訊寫到乙個表中。2.建表 這個容...