← PL/SQL Topics

Language Basics

Explain PL/SQL loop types — basic LOOP, WHILE, and numeric FOR loops

Loops (Basic, WHILE, FOR)

Oracle Fusion / EBS · Technical · PL/SQL

GeneralHigh confidence

Three loop styles: basic LOOP with explicit EXIT, WHILE with a pre-check, and numeric FOR over a range.

Grounded in: Curated Oracle knowledge layer — PL/SQL

How it works

A basic LOOP...END LOOP runs indefinitely until an explicit EXIT [WHEN condition]. A WHILE loop evaluates its condition before every iteration, so the body may never run at all. A numeric FOR loop iterates a fixed range and implicitly declares and scopes its own loop index — REVERSE walks the same range backward without needing to swap the bounds.

How it works
BEGIN
  -- Basic loop
  DECLARE v_i NUMBER := 1;
  BEGIN
    LOOP
      EXIT WHEN v_i > 3;
      DBMS_OUTPUT.PUT_LINE('Basic: ' || v_i);
      v_i := v_i + 1;
    END LOOP;
  END;

  -- WHILE loop
  DECLARE v_j NUMBER := 1;
  BEGIN
    WHILE v_j <= 3 LOOP
      DBMS_OUTPUT.PUT_LINE('While: ' || v_j);
      v_j := v_j + 1;
    END LOOP;
  END;

  -- Numeric FOR loop
  FOR v_k IN 1..3 LOOP
    DBMS_OUTPUT.PUT_LINE('For: ' || v_k);
  END LOOP;
END;
/

Related Questions

Have a follow-up, or a different question?

Continue in Ask Oracle AI