Merhaba PL/SQL yazılarına devam ediyoruz. Bir önceki yazıda döngülere başlamıştık bu yazıda da döngülere devam edip bitireceğiz, bir sonrak, yazıda da prosedür ve fonksiyonları göreceğiz. Şimdi kaldığımız yerden devam edelim.
WHILE LOOP:
Bu döngü yapısında koşul sağlandığı sürece çalışacak olan kod bloğu çalışır.
DECLARE ilk_sayi NUMBER; son_sayi NUMBER; toplam NUMBER DEFAULT 0; BEGIN son_sayi:=50; ilk_sayi:=1; WHILE(ilk_sayı < son_sayi) LOOP toplam:=toplam+ilk_sayii; ilk_sayi:=ilk_sayi+2; END LOOP DBMS_OUTPUT.PUT_LINE('Tek saylarin toplami ='||toplam); END; /
FOR LOOP:
Bu döngüde belli bir sayıda tekrarlanacak olan kod bloklarının kullanılabileceği döngü tipidir. Bir örnek ile anlamaya çalışalım.
1 ile 10 arasındaki sayıları ekrana yazalım.
BEGIN FOR i IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE('SAYI = '||TO_CHAR(İ)); END LOOP; END; /
Reverse FOR LOOP:
FOR LOOP döngüsünde yapılacak döngü değerlerinin tersten ilerleyeceği işlemlerde IN yanına REVERSE kullanarak işlemleri gerçekleştiririz.
BEGIN FOR i IN REVERSE 1..10 LOOP DBMS_OUTPUT.PUT_LINE('SAYI = '||TO_CHAR(İ)); END LOOP; END; /
FOR LOOP -EXIT :
FOR döngümüzde alınacak veriye göre döngümüz erken bitebilir bu durumlarda EXIT ile akışı sonlandırabiliriz. Örnek üzerinden devam edelim,
DECLARE ilkdeger NUMBER:=1; sondeger NUMBER:=5; sayibul NUMBER:=3; BEGIN FOR sayi IN ilkdeger..sondeger LOOP DBMS_OUTPUT.PUT_LINE('Sayi = '||sayi); EXIT WHEN sayi=sayibul; END LOOP; END; /
Böylelikle döngüler konusunu bitirmiş olduk gelecek yazıda fonksiyon ve prosedürlere başlayacağız görüşmek üzere..