Loops
The LOOP construct allows you to repeatedly execute a sequence of statements. There are three kind of loops: simple, WHILE, and FOR.
Use the EXIT statement to break out of LOOP and pass control to the statement following the END LOOP.
The Simple Loop
The syntax for a simple loop is:
LOOP executable_statement(s) END LOOP;
The simple loop should contain an EXIT or EXIT WHEN statement so as not to execute infinitely. Use the simple loop when you want the body of the loop to execute at least once.
For example:
LOOP
FETCH company_cur INTO company_rec;
EXIT WHEN company_cur%ROWCOUNT > 5 OR
company_cur%NOTFOUND;
process_company(company_cur);
END LOOP;The Numeric FOR Loop
The syntax for a numeric FOR loop is:
FOR loop_index IN [REVERSE] lowest_number.. highest_number LOOP executable_statement(s) END LOOP;
The PL/SQL runtime engine automatically declares the loop index a PLS_INTEGER variable; never declare a variable with that name yourself. The lowest_number and highest_number ranges can be variables, but are evaluated only once—on initial entry into the loop. The REVERSE keyword causes PL/SQL to start with the highest_number and decrement down to the lowest_number. For example:
BEGIN
DBMS_OUTPUT.PUT_LINE('Beginning Forward');
FOR counter IN 1 .. 4
LOOP
DBMS_OUTPUT.PUT_LINE('counter='||counter);
END LOOP;
DBMS_OUTPUT.PUT_LINE('Beginning REVERSE');
FOR counter IN REVERSE 1 .. 4
LOOP
DBMS_OUTPUT.PUT_LINE('counter='||counter);
END LOOP;
END;The Cursor FOR Loop
The syntax for a cursor FOR loop ...