| |
 |
|
Oracle Concepts - PL/SQL REPEAT-UNTIL
Loop
Oracle Tips by Burleson Consulting |
The PL/SQL REPEAT-UNTIL Loop
The WHILE loop test at the start of the loop and it the
condition is false, the loop code is never executed. If you want to ensure that
the loop code is executed at least one, the test must be preformed at the bottom
of the loop. This is referred to as a REPEAT-UNTIL or DO-WHILE loop. PL/SQL
does not directly implement a REPEAT-UNTIL loop however it is easy to construct
one using an endless loop. By placing the EXIT WHEN (condition = true)
statement as the last line of code in an endless loop you will achieve the same
results.
SQL>
declare
2
n_num number := 1;
3
begin
4
loop
5
dbms_output.put(n_num||', ');
6
n_num := n_num + 1;
7
exit when n_num > 5;
8
end loop;
9
dbms_output.put_line('Final: '||n_num);
10 end;
11 /
1, 2, 3,
4, 5, Final: 6
PL/SQL
procedure successfully completed.
Since the condition test is at the bottom of the loop,
you ensure that the loop code is executed at least once.
For the complete story, we recommend the book Easy
Oracle PL/SQL Programming. Once you have mastered basic SQL you are ready
for the advanced book Oracle
PL/SQL Tuning by Dr. Timothy Hall.
This is an excerpt from the bestselling "Easy
Oracle Jumpstart" by Robert Freeman and Steve Karam (Oracle ACE and Oracle
Certified Master). Its only $19.95 when you buy it directly from the
publisher
here.
 |
If you like Oracle tuning, you may enjoy the new book "Oracle
Tuning: The Definitive Reference", over 900 pages of BC's favorite tuning
tips & scripts.
You can buy it direct from the publisher for 30%-off and get instant access to
the code depot of Oracle tuning scripts. |
|