Mega Code Archive

 
Categories / Oracle PLSQL / PL SQL
 

Use GoTO to jump out of a loop

SQL> SQL> CREATE TABLE MyTable (   2    num_col    NUMBER,   3    char_col   VARCHAR2(60)   4    ); Table created. SQL> SQL> DECLARE   2    v_Counter  BINARY_INTEGER := 1;   3  BEGIN   4    LOOP   5      INSERT INTO MyTable   6        VALUES (v_Counter, 'Loop count');   7      v_Counter := v_Counter + 1;   8      IF v_Counter > 50 THEN   9        GOTO l_EndOfLoop;  10      END IF;  11    END LOOP;  12  13    <<l_EndOfLoop>>  14    INSERT INTO MyTable (char_col)  15      VALUES ('Done!');  16  END;  17  / PL/SQL procedure successfully completed. SQL> SQL> select * from MyTable;    NUM_COL CHAR_COL ---------- ------------------------------------------------------------          1 Loop count          2 Loop count          3 Loop count          4 Loop count          5 Loop count          6 Loop count          7 Loop count          8 Loop count          9 Loop count         10 Loop count         11 Loop count    NUM_COL CHAR_COL ---------- ------------------------------------------------------------         12 Loop count         13 Loop count         14 Loop count         15 Loop count         16 Loop count         17 Loop count         18 Loop count         19 Loop count         20 Loop count         21 Loop count         22 Loop count    NUM_COL CHAR_COL ---------- ------------------------------------------------------------         23 Loop count         24 Loop count         25 Loop count         26 Loop count         27 Loop count         28 Loop count         29 Loop count         30 Loop count         31 Loop count         32 Loop count         33 Loop count    NUM_COL CHAR_COL ---------- ------------------------------------------------------------         34 Loop count         35 Loop count         36 Loop count         37 Loop count         38 Loop count         39 Loop count         40 Loop count         41 Loop count         42 Loop count         43 Loop count         44 Loop count    NUM_COL CHAR_COL ---------- ------------------------------------------------------------         45 Loop count         46 Loop count         47 Loop count         48 Loop count         49 Loop count         50 Loop count            Done! 51 rows selected. SQL> SQL> drop table MyTable; Table dropped.