PL/SQL Programlama -7

Merhaba PL/SQL yazılarına devam ediyoruz geçtiğimiz yazıda CASE-WHEN yapısını incelemiştik bu yazıya geçmeden ona göz atmanızda fayda var https://ittutorial.org/pl-sql-programlama-6/. 

Bu yazıda Döngüler’i inceleyeceğiz

Döngüler(Loops):

Kod yazımında bazı işlemlerle çalıştıracağımız kod bloklarının belirli aralıkta veya sıralı olarak işlem yapma ihtiyacı duyabiliriz. Bu tarz durumlarda döngüleri, vereceğimiz koşullarla beraber kullanabiliriz.

LOOP : En temel döngü tipidir

WHILE LOOP: Bir şartın sağlanması sonucunda çalışan döngüdür

FOR…LOOP: Belirli bir sayıda yapılan işlemler için kullanılır

Nested LOOP: İç içe yer alan döngülerdir.

 

LOOP Yapısı:

PL/SQL ‘de en temel döngü tipidir LOOP-END LOOP bloğu içerisinde kodlar çalıştırılır

EXIT Kullanımı:

Blok içerisinde çalıştırılan kodların içinde EXIT ya da EXIT-WHEN ile bloktan direk çıkarma işlemini yapar

DECLARE 

sayi NUMBER :=0;

BEGIN

LOOP

DBMS_OUTPUT.PUT_LINE('Döngü içinde = ' || TO_CHAR(sayi));

sayi:=sayi +1;

IF sayi>5 THEN

EXIT;

END IF;

END LOOP;

DBMS_OUTPUT.PUT_LINE('LOOP Döngüsü dışında = ' || TO_CHAR(sayi));

END;

/

EXIT WHEN Kullanımı:

Bu yapı da az önce örnek yaptığımız IF yapısına benzer şekilde çalışır orada IF kullanarak çıkış yapmıştık burada WHEN ile yapacağız.

DECLARE

sayi NUMBER:=0;

BEGIN

LOOP

DBMS_OUTPUT.PUT_LINE(‘Döngü içinde = ‘ || TO_CHAR(sayi));

sayi:=sayi+1;

EXIT WHEN sayi>3;

END LOOP

DBMS_OUTPUT.PUT_LINE(‘LOOP Döngüsü dışında = ‘ || TO_CHAR(sayi));

END;

/

CONTINUE Kullanımı:

Kod içerisinde kullanacağımız ve döngünün devamını sağlayacak operatördür.

Bir örnek ile daha kolay anlayabiliriz;
DECLARE

sayi NUMBER:=0;

BEGIN

LOOP

DBMS_OUTPUT.PUT_LINE('LOOP icinde = ' TO_CHAR(sayi));

sayi:=sayi+1;

IF sayi >3 THEN

CONTINUE;

END IF;

DBMS_OUTPUT.PUT_LINE('LOOP icinde CONTINUE sonrası =' || TO_CHAR(sayi));

EXIT WHEN sayi=5;

END LOOP;

DBMS_OUTPUT.PUT_LINE('LOOP dısında = ' || TO_CHAR(sayi));

END;

/

CONTINUE WHEN Kullanımı:

Döngü içerisinde kullandığımız bu operatör EXIT WHEN’de olduğu gibi bir koşulu denetler ve döngünün bulunduğu noktadan başa dönmesini sağlar.

Örnek kullanımına bakalım,

DECLARE

sayi NUMBER:=0;

BEGIN

LOOP

DBMS_OUTPUT.PUT_LINE('LOOP icinde = '|| TO_CHAR(sayi));

sayi:=sayi+1;

CONTINUE WHEN sayi<3;

DMBS_OUTPUT.PUT_LINE('LOOP icinde, CONTINUE EXIT sonrası ='||TO_CHAR(sayi));

EXIT WHEN sayi=5;

END LOOP;

DBMS_OUTPUT.PUT_LINE('LOOP dışında '||TO_CHAR(sayi));

END;

/

Örnekleri çoğaltmak mümkün, en basit şekilde anlaşılması için örnekleri basit ele aldık bir sonraki yazı da döngülere devam edeceğiz 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 *