Share this page:

oracle tutorial

Oracle/PLSQL: FOR LOOP

This Oracle tutorial explains how to use the FOR LOOP in Oracle with syntax and examples.

Description

In Oracle, the FOR LOOP allows you to execute code repeatedly for a fixed number of times.

Syntax

The syntax for the FOR Loop in Oracle/PLSQL is:

FOR loop_counter IN [REVERSE] lowest_number..highest_number
LOOP
   {...statements...}
END LOOP;

Parameters or Arguments

loop_counter is the loop counter variable in the FOR LOOP.

REVERSE is optional. If REVERSE is specified, the LOOP counter will count in reverse.

lowest_number is the starting value for loop_counter.

highest_number is the ending value for loop_counter.

statements are the statements of code to execute each pass through the FOR LOOP.

Note

  • You would use a FOR LOOP when you want to execute the loop body a fixed number of times.
  • If REVERSE is specified, then the highest_number will be the starting value for loop_counter and lowest_number will be the ending value for loop_counter.

Example

Let's look at an example of how to use a FOR LOOP in Oracle.

FOR Lcntr IN 1..20
LOOP
   LCalc := Lcntr * 31;
END LOOP;

This FOR LOOP example will loop 20 times. The counter called Lcntr will start at 1 and end at 20.

You can use the REVERSE modifier to run the FOR LOOP in reverse order. For example:

FOR Lcntr IN REVERSE 1..15
LOOP
   LCalc := Lcntr * 31;
END LOOP;

This FOR LOOP example will loop 15 times. However, because REVERSE is specified, the counter called Lcntr will start at 15 and end at 1 (in essence, looping backwards).