>-
條款四十六,總是使用 EXIT WHILE loop 去跳離迴圈,不要使用 IF…EXIT。
像是下面這樣的程式使用 IF 判斷要跳離迴圈的條件是否成立,成立的話使用 EXIT 跳離迴圈。如果 IF 判斷只是單純的用來處裡跳離迴圈的條件判斷,那這樣的撰寫方式就不是那麼洽當,程式碼變得比較冗餘,且不好維護。
BEGIN
<<process_employees>>
LOOP
...
IF
...
THEN
EXIT process_employees;
END IF;
...
END LOOP process_employees;
END;
比較好的做法是用 EXIT WHEN,將跳離迴圈的判斷直接寫在 EXIT WHEN 後面,這樣程式會比較簡短、清晰、且易於維護。
BEGIN
<<process_employees>>
LOOP
...
EXIT process_employees WHEN (...);
END LOOP process_employees;
END;