Exit loop since last index value is read. : EXIT « PL SQL « Oracle PL / SQL






Exit loop since last index value is read.

    

SQL> DECLARE
  2    current VARCHAR2(9 CHAR);
  3    element INTEGER;
  4
  5    TYPE months_varray IS VARRAY(12) OF STRING(9 CHAR);
  6    TYPE calendar_table IS TABLE OF VARCHAR2(9 CHAR) INDEX BY VARCHAR2(9 CHAR);
  7
  8    month MONTHS_VARRAY := months_varray('January','February','March','April','May','June','July','August','September','October','November','December');
  9
 10    calendar CALENDAR_TABLE;
 11  BEGIN
 12    IF calendar.COUNT = 0 THEN
 13      FOR i IN month.FIRST..month.LAST LOOP
 14        calendar(month(i)) := TO_CHAR(i);
 15        DBMS_OUTPUT.PUT_LINE('Index ['||month(i)||'] is ['||i||']');
 16      END LOOP;
 17
 18      FOR i IN 1..calendar.COUNT LOOP
 19        IF i = 1 THEN
 20          current := calendar.FIRST;
 21          element := calendar(current);
 22        ELSE
 23          IF calendar.NEXT(current) IS NOT NULL THEN
 24            current := calendar.NEXT(current);
 25            element := calendar(current);
 26          ELSE
 27            EXIT;
 28          END IF;
 29        END IF;
 30
 31        DBMS_OUTPUT.PUT_LINE('Index ['||current||'] is ['||element||']');
 32      END LOOP;
 33    END IF;
 34  END;
 35  /
Index [January] is [1]
Index [February] is [2]
Index [March] is [3]
Index [April] is [4]
Index [May] is [5]
Index [June] is [6]
Index [July] is [7]
Index [August] is [8]
Index [September] is [9]
Index [October] is [10]
Index [November] is [11]
Index [December] is [12]
Index [April] is [4]
Index [August] is [8]
Index [December] is [12]
Index [February] is [2]
Index [January] is [1]
Index [July] is [7]
Index [June] is [6]
Index [March] is [3]
Index [May] is [5]
Index [November] is [11]
Index [October] is [10]
Index [September] is [9]

PL/SQL procedure successfully completed.

   
    
    
    
  








Related examples in the same category

1.Impact of EXIT in a function
2.Using EXIT with a simple LOOP
3.Using EXIT with a WHILE loop
4.Using EXIT with a FOR loop
5.Unconstrained loop: exit
6.Exit outer loop with 'EXIT LabelName When' statement
7.EXIT WHEN clause.
8.Exit to a label