1. 程式人生 > >Oracle中PL/SQL之 while、for、loop 三種迴圈方式的使用

Oracle中PL/SQL之 while、for、loop 三種迴圈方式的使用

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 條件,這種迴圈方式運用在循環遊標比較多。