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..

About Deniz Parlak

Hi, i’m Security Data Scientist & Data Engineer at My Security Analytics. I have experienced Advance Python, Machine Learning and Big Data tools. Also i worked Oracle Database Administration, Migration and upgrade projects. For your questions [email protected]

Leave a Reply

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