PL/SQL Programlama -8

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.

Bir örnek ile devam edelim 1 ile 50 arasındaki tek sayıların toplamını bulalım;
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..

Deniz Parlak

I am a technical author on IT Tutorial. I am working on Oracle and Mysql databases, I also work on Datawarehouse and Big Data. If you need help, please contact deniz.parlak@yahoo.com.