PL/SQL 雖提供 FOR i IN 1..N 固定步長 1 的迴圈,若需自訂步長(如每次 +2、+3),可結合 GOTO 標籤實現。本文展示最小化範例與等效 WHILE 寫法對比。
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
DECLARE
x NUMBER := 0;
BEGIN
WHILE x < 10 LOOP
x := x + 2;
DBMS_OUTPUT.PUT_LINE(x);
END LOOP;
END;
GOTO 只能跳轉至同一區塊(DECLARE-BEGIN-END)內的標籤< 置於可執行語句前FOR/WHILE/LOOP 結構化控制