FOR Loop Ranges with variable : For Loop « PL SQL « Oracle PL / SQL






FOR Loop Ranges with variable

    

SQL>
SQL> CREATE TABLE MyTable (
  2    num_col    NUMBER,
  3    char_col   VARCHAR2(60)
  4    );

Table created.

SQL>
SQL>
SQL> DECLARE
  2    v_LowValue  NUMBER := 10;
  3    v_HighValue NUMBER := 40;
  4  BEGIN
  5    FOR v_Counter IN REVERSE v_LowValue .. v_HighValue LOOP
  6      INSERT INTO MyTable
  7        VALUES (v_Counter, 'Dynamically specified loop ranges');
  8    END LOOP;
  9  END;
 10  /

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL>
SQL> select * from MyTable;

   NUM_COL CHAR_COL
---------- ------------------------------------------------------------
        40 Dynamically specified loop ranges
        39 Dynamically specified loop ranges
        38 Dynamically specified loop ranges
        37 Dynamically specified loop ranges
        36 Dynamically specified loop ranges
        35 Dynamically specified loop ranges
        34 Dynamically specified loop ranges
        33 Dynamically specified loop ranges
        32 Dynamically specified loop ranges
        31 Dynamically specified loop ranges
        30 Dynamically specified loop ranges

   NUM_COL CHAR_COL
---------- ------------------------------------------------------------
        29 Dynamically specified loop ranges
        28 Dynamically specified loop ranges
        27 Dynamically specified loop ranges
        26 Dynamically specified loop ranges
        25 Dynamically specified loop ranges
        24 Dynamically specified loop ranges
        23 Dynamically specified loop ranges
        22 Dynamically specified loop ranges
        21 Dynamically specified loop ranges
        20 Dynamically specified loop ranges
        19 Dynamically specified loop ranges

   NUM_COL CHAR_COL
---------- ------------------------------------------------------------
        18 Dynamically specified loop ranges
        17 Dynamically specified loop ranges
        16 Dynamically specified loop ranges
        15 Dynamically specified loop ranges
        14 Dynamically specified loop ranges
        13 Dynamically specified loop ranges
        12 Dynamically specified loop ranges
        11 Dynamically specified loop ranges
        10 Dynamically specified loop ranges

31 rows selected.

SQL>
SQL> drop table MyTable;

Table dropped.

   
    
    
  








Related examples in the same category

1.Your first FOR loop
2.For loop: counter IN 1..5
3.Nesting FOR loops
4.REVERSE: Reversing the loop
5.Changing the loop increment
6.Use variable as an upper bound of for loop
7.Exit(break) a for loop
8.Call EXIT to exit a for loop
9.Call EXIT WHEN to exit a function
10.Put DBMS_OUTPUT.PUT_LINE in for loop
11.If... End if
12.A numeric FOR loop with insert statement
13.Use for counter in insert statement
14.The scope of the index of a FOR LOOP.
15.FOR Loop Scoping Rules
16.Numeric FOR Loop
17.Loop till count(*)
18.Use for loop as if statement
19.Use for loop to loop through result from a select statement
20.Define a looping indexer as member variable in a procedure
21.Numeric loop will ignore the externally scoped variable and create a new locally scoped variable.
22.Nested for loop
23.Nested for loop vs table join in for loop
24.loop index scope is limited to the FOR loop.
25.starting_number and ending_number must be integers.
26.For each reverse