10g 無 CONTINUE,需用 GOTO 跳轉到循環末尾的空語句:
DECLARE
done BOOLEAN;
BEGIN
FOR i IN 1..50 LOOP
IF done THEN
GOTO end_loop; -- 跳過本次循環剩餘邏輯
END IF;
-- 循環主體邏輯
<<end_loop>>
NULL; -- 必須有可執行語句作為標籤目標
END LOOP;
END;
注意:標籤 <<label>> 後必須跟可執行語句(NULL; 最輕量),否則編譯報錯 PLS-00375。
DECLARE
done BOOLEAN;
BEGIN
FOR i IN 1..50 LOOP
IF done THEN
CONTINUE; -- 直接進入下一次迭代
END IF;
-- 循環主體邏輯
END LOOP;
END;
CONTINUE 提升可讀性。GOTO,僅在無法重構邏輯時作為最後手段。IF-THEN-ELSE 結構自然跳過,減少跳轉語句。