Oracle中PL/SQL之 while、for、loop 三種迴圈方式的使用
阿新 • • 發佈:2018-11-05
PL/SQL while、for、loop 三種迴圈方式的使用
1、WHILE ... LOOP ... END LOOP 語法:
WHILE 條件
LOOP
語句;
END LOOP;
例子:輸出1到5的數字
declare
num number := 1;
begin
while num <= 5
loop
dbms_output.put_line(num);
num := num + 1;
end loop;
end;
總結:這種迴圈方式是先判斷條件,條件成立才執行迴圈體,條件不成立則退出迴圈,在迴圈體內需要有改變變數值的語句,不然會成為死迴圈。
2、FOR ... IN 1 .. 3 LOOP ... END LOOP 語法:
FOR 變數 IN 1 .. 3
LOOP
語句;
END LOOP;
例子:輸出1到5的數字
declare
num number := 1;
begin
for num in 1 .. 5
loop
dbms_output.put_line(num);
end loop;
end;
總結:這種迴圈方式是一開始就在for裡面確定變數值的範圍,這個範圍內的值只能是自然數,執行完範圍內的值就退出迴圈,這種迴圈方式運用在迴圈陣列比較多。
3、LOOP ... EXIT WHEN ... END LOOP 語法:
LOOP
EXIT WHEN 條件;
語句;
END LOOP;
例子:輸出1到5的數字
declare
num number := 1;
begin
loop
exit when num > 5;
dbms_output.put_line(num);
num := num + 1;
end loop;
end;
總結:這種迴圈方式是直接執行迴圈體,在迴圈體內必定要有判斷退出迴圈的語句exit when 條件,這種迴圈方式運用在循環遊標比較多。