oracle迴圈語句的幾種使用方法

2021-05-28 09:22:08 字數 1881 閱讀 3742

主要有以下五種迴圈: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 迴圈語句

在pl sql中最簡單格式的迴圈語句是基本迴圈語句,這種迴圈語句以loop開始,以end loop結束,其語法如下 loop statement1 exit when condition 注意 當編寫基本迴圈時,一定要包含exit語句,否則pl sql會陷入死迴圈。create table temp...

Oracle迴圈語句

1,當不確定多少次要執行迴圈體並且希望迴圈體至少執行一次,則會使用loop語句 loop 執行每個通過迴圈的 語句 end loop 例項 loop week day 7 exit when week 21 end loop 此時當week值大於21時終止,可以使用exit語句或當遇到exit wh...

oracle 迴圈語句

1.基本迴圈 至少會執行一次 declare i int 1 begin loop 迴圈開始 dbms output.put line value i exit when i 10 退出迴圈條件 i i 1 迴圈監視變數 end loop 迴圈結束 end 2.while迴圈 只有滿足while新增...