oracle迴圈語句小結

2022-03-24 20:49:40 字數 1966 閱讀 9743

主要有以下五種迴圈:exit when、loop、while、for(普通迴圈)、for(游標迴圈),下面舉例一一說明(均為儲存過程)。

1、exit when迴圈:

create or replace procedure proc_test_exit_when is

i number;

begin

i:=0;

loop

exit when(i>5);

dbms_output.put_line(i);

i:=i+1;

end loop;

end proc_test_exit_when;

——————————————————–俺是分割線—————————————————————–

2、loop迴圈:

create or replace procedure proc_test_loop is

i number;

begin

i:=0;

loop

i:=i+1;

dbms_output.put_line(i);

if i>5 then

exit;

end if;

end loop;

end proc_test_loop;

——————————————————–俺是分割線—————————————————————–

3、while迴圈:

create or replace procedure proc_test_while is

i number;

begin

i:=0;

while i<5 loop

i:=i+1;

dbms_output.put_line(i);

end loop;

end proc_test_while;

——————————————————–俺是分割線—————————————————————–

4、for普通迴圈:

create or replace procedure proc_test_for is

i number;

begin

i:=0;

for i in 1..5 loop

dbms_output.put_line(i);

end loop;

end proc_test_for;

——————————————————–俺是分割線—————————————————————–

5、for游標迴圈:

create or replace procedure proc_test_cursor is

userrow test%rowtype;

cursor userrows is

select * from test;

begin

for userrow in userrows loop

dbms_output.put_line(userrow.id||』,'||userrow.name||』,'||userrows%rowcount);

end loop;

end proc_test_cursor;

——————————————————–俺是分割線—————————————————————–

上面所示為儲存過程相應**,你可以通過如下方式進行測試:

進入pl/sql, 執行 檔案->新建->程式視窗->空白,拷貝以上各段**,到pl/sql空白視窗中,安f8執行編譯。

再 執行 檔案->新建->命令視窗 進入命令視窗 執行一下  set serveroutput on 這句**,然後,輸入exec 相應儲存過程,ok。

第5中迴圈 要求新建乙個名為test的表 字段 id、name,插入幾條資料,進行測試即可。

oracle迴圈語句小結

主要有以下五種迴圈 exit when loop while for 普通迴圈 for 游標迴圈 下面舉例一一說明 均為儲存過程 1 exit when迴圈 create or replace procedure proc test exit when is i number begin i 0 l...

oracle迴圈語句小結

主要有以下五種迴圈 exit when loop while for 普通迴圈 for 游標迴圈 下面舉例一一說明 均為儲存過程 1 exit when迴圈 create or replace procedure proc test exit when is i number begin i 0 l...

oracle迴圈語句小結

oracle迴圈語句小結 主要有以下五種迴圈 exit when loop while for 普通迴圈 for 游標迴圈 下面舉例一一說明 均為儲存過程 1 exit when迴圈 create or replace procedure proc test exit when is i numbe...