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..
IT Tutorial IT Tutorial | Oracle DBA | SQL Server, Goldengate, Exadata, Big Data, Data ScienceTutorial