PL/SQL Programlama — 3 — Döngüler
Bu yazımda, PL/SQL Programlama dilinde Döngüler (Loops) konusu inceleyeceğiz. Döngü, bir veya birden fazla işlem satırının, bir koşula bağlı olarak, belirli sayıda veya koşul sağlandığı sürece tekrarlanarak çalıştırılması işlemine denir. 3 çeşit PL/SQL döngüsü vardır. Bunlar:
- Simple Loops — Basit Döngüler
- While Loop — While Döngüsü
- For Loop — For Döngüsü
Şimdi sırayla bu 3 döngüyü inceleyelim.
Simple Loops — Basit Döngüler
Koşul sağlandığı sürece döngü devam eder. Basit döngüler için söz dizimi aşağıdaki şekildedir.
LOOP
statements - çalıştıralacak ifade
END LOOP;
Basit Döngüler için aşağıdaki örneği inceleyelim:
/*
0'dan başlayıp 5'e kadar ekrana yazan program.
*/
declare
i number := 0;
begin
loop
i:=i+1;
EXIT WHEN i>5;
dbms_output.put_line(i);
end loop;
end;
While Loop — While Döngüsü
While döngüsü, koşul gerçekleşene kadar çalışır. While döngüsünün söz dizimi aşağıdaki gibidir.
WHILE condition LOOP statements
END LOOP;
While döngüsü için örnek:
declare
i number := 0;
begin
while (i<10) loop
i:=i+1;
dbms_output.put_line(i);
end loop;
end;
while döngüsü ile 0'dan başlayıp 10'a kadar birer artırıp ekrana yazdırdık.
For Loop — For Döngüsü
For döngüsü, belirlenen miktarda çalıştırmak için kullanılır. Döngüde alt sınır ve üst sınır belirlenir ve döngü değişkeni bir bir artırır. Söz dizimi aşağıdaki gibidir:
FOR loop_variable IN [REVERSE] lower_bound..upper_bound LOOP statements
END LOOP;
For döngüsü için örneğimiz:
begin
for i in 1..10 loop
dbms_output.put_line(i);
end loop;
end;
1'den başlayarak 10'a kadar birer birer artırarak ekrana yazdır demiş olduk bu kodlar ile.
.. ifadesi ile belirlenen iki sayı arasında değeri girmeden döngünün ne kadar dönmesi gerektiğini belirtiriz.
reverse ifadesini kullanarak döngünün işleyişini tersine çevirebiliriz.
begin
for i in reverse 1..10 loop
dbms_output.put_line(i);
end loop;
end;
10 sayısından başla ve geriye doğru 1 sayısına kadar ekrana yazdır.