首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle PL/SQL GOTO 標籤迴圈實現步長控制

     編輯:Oracle 教學

Oracle PL/SQL GOTO 標籤迴圈實現步長控制

PL/SQL 雖提供 FOR i IN 1..N 固定步長 1 的迴圈,若需自訂步長(如每次 +2、+3),可結合 GOTO 標籤實現。本文展示最小化範例與等效 WHILE 寫法對比。

GOTO 實現步長 2

DECLARE
  x NUMBER := 0;
BEGIN
  <>
  x := x + 2;              -- 步長控制:這裡加幾就是步長幾
  DBMS_OUTPUT.PUT_LINE(x);
  IF x < 10 THEN
    GOTO step_loop;        -- 跳回標籤
  END IF;
END;
/
-- 輸出:2, 4, 6, 8, 10

等效 WHILE 寫法(推薦,結構化程式設計)

DECLARE
  x NUMBER := 0;
BEGIN
  WHILE x < 10 LOOP
    x := x + 2;
    DBMS_OUTPUT.PUT_LINE(x);
  END LOOP;
END;

注意事項

  • GOTO 只能跳轉至同一區塊(DECLARE-BEGIN-END)內的標籤
  • 標籤格式:< 置於可執行語句前
  • 濫用 GOTO 導致「麵條程式碼」,優先使用 FOR/WHILE/LOOP 結構化控制
  • 極少數場景(如複雜狀態機、跳出多層巢狀迴圈)可考慮 GOTO
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved