06_循環 break continue

--loop循環
declare
  v_i number := 0;
begin
  loop
    v_i := v_i + 2;
    /*
    if v_i > 10 then
      exit;
    end if;
    */
    exit when v_i > 10;
    dbms_output.put_line('v_i = ' || v_i);
  end loop;
  --繼續執行下一行的代碼。
  dbms_output.put_line('aa');
end;

--while循環
declare
  v_i number := 0;
begin
  while v_i < 10 loop
    v_i := v_i + 2;
    dbms_output.put_line('v_i = ' || v_i);
  end loop;
  --繼續執行下一行的代碼。
  dbms_output.put_line('aa');
end;

--for循環
--1:循環中不需要定義變量。會自動定義
--2:不能設置步長
declare
begin
  for v_i in 1 .. 10 loop
    dbms_output.put_line('v_i = ' || v_i);
  end loop;
end;



declare

begin
  --break;
  for v_i in 1 .. 10 loop
    if v_i = 5 then
      exit;
    end if;
    dbms_output.put_line(v_i);
  end loop;

  dbms_output.put_line('繼續執行');

  --continue;
  for v_i in 1 .. 10 loop
    if v_i = 5 then
      null;
    else
      dbms_output.put_line('aa = ' || v_i);
    end if;
  
  end loop;

  dbms_output.put_line('繼續執行');
end;
Oracle中沒有break和continue這兩個關鍵字,所以我們需要用別的方式來替換它。

發佈了91 篇原創文章 · 獲贊 12 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章