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.

Image

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;

/

Image

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;

/

Image

CONTINUE Kullanımı:

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

Image

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;

/
Image

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;

/

Image

Ö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

Image
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 *