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

Hi, I'm a Computer Engineering student in Dumlupınar University.I will graduate next year. I did an internship TurkNet Telecominication Company in 2018 June- 2018 September. I had experience Linux/Unix system, SQL Server Management , SSRS, Mysql Database Management,Troubleshooting performance issues in Linux. I also interested Oracle database and technologies. I want to work as Oracle DBA after my University. I am practicing Unix, Exadata, Orace Cloud, Oracle RAC, Dataguard, EBS, Oracle BI and etc and i hope the articles will be helpful. Any questions, or support please write email deniz.parlak@yahoo.com

Leave a Reply

Your email address will not be published. Required fields are marked *