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!