Exiting from Nested Loops : Loop « PL SQL Statements « Oracle PL/SQL Tutorial






SQL>
SQL> declare
  2      v_ind     NUMBER;
  3      v_current NUMBER;
  4      v_max_printed NUMBER :=10;
  5      v_printed NUMBER:=0;
  6  begin
  7      v_current:=0; -- should not be null!
  8      <<Main>>
  9      loop
 10          v_ind:=0; -- reset each time
 11          <<Inner>>
 12          loop
 13             v_ind:=v_ind+1;
 14             DBMS_OUTPUT.put_line(v_current);
 15             v_printed:=v_printed+1;
 16             exit Main when v_printed = v_max_printed;
 17             exit when v_ind=4;
 18          end loop Inner;
 19          v_current:=v_current+5;
 20          exit when v_current=25;
 21      end loop Main;
 22  end;
 23  /
0
0
0
0
5
5
5
5
10
10

PL/SQL procedure successfully completed.

SQL>
SQL>








22.3.Loop
22.3.1.Loops
22.3.2.Simple Loops
22.3.3.LOOP END LOOP
22.3.4.Count up by hundreds until we get an error
22.3.5.The EXIT WHEN statement can appear anywhere in the loop code.
22.3.6.Exit a LOOP
22.3.7.EXIT a LOOP for a certain condition
22.3.8.Nested loops: Loop inside of a Loop
22.3.9.Exiting from Nested Loops
22.3.10.Using Labels and EXIT Statements with Loops
22.3.11.Creating a REPEAT...UNTIL Loop
22.3.12.Use LOOP to insert data to a table
22.3.13.Fetch Cursor data in LOOP
22.3.14.A SQL Replacement for Regular Loops
22.3.15.Named loop block