PL/SQL for loop is used when when you want to execute a set of statements for a predetermined number of times. The loop is iterated between the start and end integer values. The counter is always incremented by 1 and once the counter reaches the value of end integer, the loop ends.

Syntax of for loop:

FOR counter IN initial_value .. final_value LOOP  

  LOOP statements;   

END LOOP;  
    • initial_value : Start integer value
    • final_value : End integer value

    PL/SQL For Loop Example 1

    Let’s see a simple example of PL/SQL FOR loop.

    BEGIN  
    
    FOR k IN 1..10 LOOP  
    
    -- note that k was not declared  
    
    DBMS_OUTPUT.PUT_LINE(k);  
    
    END LOOP;  
    
    END;   

      After the execution of the above code, you will get the following result:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      

      Note: You must follow these steps while using PL/SQL WHILE Loop.

      • You don’t need to declare the counter variable explicitly because it is declared implicitly in the declaration section.
      • The counter variable is incremented by 1 and does not need to be incremented explicitly.
      • You can use EXIT WHEN statements and EXIT statements in FOR Loops but it is not done often.

      PL/SQL For Loop Example 2

      DECLARE   
      
      VAR1 NUMBER;  
      
      BEGIN   
      
      VAR1:=10;  
      
      FOR VAR2 IN 1..10  
      
      LOOP  
      
      DBMS_OUTPUT.PUT_LINE (VAR1*VAR2);  
      
      END LOOP;  
      
      END; 

        Output:

        10
        20
        30
        40
        50
        60
        70
        80
        90
        100
        

        PL/SQL For Loop REVERSE Example 3

        Let’s see an example of PL/SQL for loop where we are using REVERSE keyword.

        DECLARE   
        
        VAR1 NUMBER;  
        
        BEGIN   
        
        VAR1:=10;  
        
        FOR VAR2 IN REVERSE 1..10  
        
        LOOP  
        
        DBMS_OUTPUT.PUT_LINE (VAR1*VAR2);  
        
        END LOOP;  
        
        END;  

          Output:

          100
          90
          80
          70
          60
          50
          40
          30
          20
          10
          

          Comments

          Leave a Reply

          Your email address will not be published. Required fields are marked *