Skip to content

PL/SQL Basic LOOP 🔄

Mentor's Note: A loop is like a Hamster Wheel. You keep running until you've reached your goal. The "Basic Loop" is the simplest type: it runs forever until you explicitly tell it to STOP. 💡


🌟 The Scenario: The Repetitive Task 🛠️

Imagine you are stamping 100 letters. - Action: Pick a letter -> Stamp it -> Check if you are done. - Loop: Keep repeating the action. - Exit: Stop once you have stamped the 100th letter. ✅


💻 1. The Basic Syntax

A basic loop starts with LOOP and ends with END LOOP;.

DECLARE
   v_counter NUMBER := 1;
BEGIN
   LOOP
      DBMS_OUTPUT.PUT_LINE('Iteration: ' || v_counter);

      v_counter := v_counter + 1;

      -- 🛑 The Exit Strategy (Mandatory to avoid infinite loop!)
      IF v_counter > 5 THEN
         EXIT;
      END IF;
   END LOOP;
END;

💻 2. The EXIT WHEN Clause (Shorthand)

A cleaner way to write the exit condition.

DECLARE
   v_counter NUMBER := 1;
BEGIN
   LOOP
      DBMS_OUTPUT.PUT_LINE('Counter: ' || v_counter);
      v_counter := v_counter + 1;

      EXIT WHEN v_counter > 5; -- ✅ Much more readable!
   END LOOP;
END;

🏗️ Architect's Note: The Infinite Loop Danger 🛡️

If you forget to increment your counter or provide an EXIT condition, the loop will run until it crashes the session or uses up all the CPU. - Tip: Always double-check your exit condition. If your program seems to "hang" when you run it, you probably have an infinite loop!


🎨 Visual Logic: The Loop Cycle

graph TD
    A[Start Loop] --> B[Execute Task]
    B --> C{Exit Condition Met?}
    C -- No --> B
    C -- Yes --> D[End Loop]

📈 Learning Path