1. 程式人生 > >Oracle:PL/SQL--流程控制(三)——迴圈結構:loop、while-loop、for-loop

Oracle:PL/SQL--流程控制(三)——迴圈結構:loop、while-loop、for-loop

—–流程控制(三)

—–迴圈結構
—–1、loop迴圈

語法:

loop
     statements;
end loop;

—–實現計數器功能,當計數器為10或者大於10時退出

declare
    v_count integer := 1; --定義變數
begin 
    loop  --迴圈執行+1操作
        v_count := v_count + 1;
        if v_count >= 10 then  --當變數大於等於10退出迴圈
             exit;
         end if;
     end loop;
     dbms_output.put_line('結果為:'||v_count);
end
;

這裡寫圖片描述

——2、 while-loop迴圈(類似於while迴圈)

語法:

while condition
loop
   {...statements...}
end loop;

—–實現計數器功能,當計數器為10或者大於10時退出

declare
    v_count integer := 1; --定義變數
begin 
    while v_count <= 10
    loop  --迴圈執行+1操作
        v_count := v_count + 1;
        dbms_output.put_line('本次結果為:'||v_count);
end loop; dbms_output.put_line('最終結果為:'||v_count); end;

這裡寫圖片描述
這裡寫圖片描述

—————-迴圈終止條件有誤,應為v_count < 10————————

—-3、for-loop迴圈(類似與for迴圈)
語法:

for loop_count in [reverse] lower_bound..height_bound 
/*
lower_bound.··--迴圈次數最小值

height_bound --迴圈次數最大值
*/
loop
      statements;
end loop;

—–實現計數器功能,當計數器為5或者大於5時退出

declare
    v_count integer := 0; --定義變數
begin 
    for i in 1..5 LOOP 
        v_count := v_count + 1;
        dbms_output.put_line('本次結果為:'||v_count);
     end loop;
     dbms_output.put_line('最終結果為:'||v_count);
end;   

這裡寫圖片描述

—— reverse 的作用
reverse n. 背面;相反;倒退;失敗 vt. 顛倒;倒轉
所以,此處reverse的作用是,從迴圈次數最大值開始,倒著來

這裡寫圖片描述
這裡寫圖片描述