PLSQL IF Else Kullanımı ( Öğretici )

PLSQL IF ELSE İfadesi | PLSQL Nedir ?

Bu yazımızda, ORACLE PLSQL IF Else deyimini, belirli bir koşula dayanarak bir işlemi çalıştırmak veya atlamak için nasıl kullanacağınızı öğreneceksiniz. PLSQL IF ELSE ifadesi, koşula bağlı olarak bir dizi kod parçasını yürütmenizi veya atlamanızı sağlar. IF ifadesinin üç şekli vardır:

  1.  PLSQL IF THEN
  2.  PLSQL IF THEN ELSE
  3.  PLSQL IF THEN ELSIF

 

PLSQL IF THEN İfadesi Kullanımı

Aşağıdaki, Oracle IF THEN ifadesinin yapısını gösterir:

 

IF koşul THEN
kod_ifadeleri;
END IF;

Koşul ise her zaman TRUE, FALSE veya NULL olarak değerlendiren bir Boolean ifadedir. Eğer koşul “TRUE” ise , yani doğru ise , o zaman kodu çalıştır. Koşul sağlanmıyor ise PLSQL if ifadesinin içerisi hiçbir zaman çalışmaz.

Örnek :

DECLARE
calisan_sayisi NUMBER :=1005;
BEGIN
IF calisan_sayisi > 1000 THEN
DBMS_OUTPUT.PUT_LINE( 'Çalışan sayisi 1000 den fazladır' );
END IF;
END;

Koşulumuza dikkat edersek Çalışan Sayısının 1000 ‘den fazla olup olmadığına bakıyor. Buna Clumsy, yani sakar if diyorlar. Bunun yerine aşağıdaki gibi yapsaydık.

DECLARE
calisan_sayisi NUMBER :=1005;
c_s_kontrol boolean :=TRUE;
BEGIN
c_s_kontrol :=calisan_sayisi > 1000;
IF c_s_kontrol THEN
DBMS_OUTPUT.PUT_LINE( 'Çalışan sayisi 1000 den fazladır' );
END IF;
END;

Burada Clumsy if’ten kurtulduk ve c_s_kontrol değişkenini, kullandığımız PLSQL if ifadesinin bir koşulu olarak kullandık.

PLSQL IF THEN ELSE Kullanımı

IF koşul THEN
kodlar;
ELSE
diger_kodlar;
END IF;

Burada ise ELSE ifadesi ile Eğer koşul doğru değilse diger_kodlar çalışacaktır. Yani Koşul TRUE olarak değerlendirilirse, THEN ile ELSE arasındaki ifadeler çalıştırılır. Koşulun FALSE veya NULL olarak değerlendirilmesi durumunda, ELSE ve END IF arasındaki diger_kodlar yürütülür.

Örnek:

DECLARE
satislar NUMBER :=150000;
prim NUMBER(4);
BEGIN
IF satislar > 200000 THEN
prim:= 5000;
DBMS_OUTPUT.PUT_LINE( 'Prim 200.000 ''i aşmıştır' );
ELSE
prim:= 3000;
DBMS_OUTPUT.PUT_LINE( 'Satislar 200.000 ''i aşmadığı için :' || prim || ' TL''dir' );
END IF;
END;

PLSQL if else örneğimizi çalıştırdığımızda.

Çıktımız : Satislar 200.000 ‘i aşmadığı için :3000 TL’dir 

olacaktır.

 

PLSQL IF THEN ELSIF İfadesi

PLSQL IF THEN ELSIF İfadesi Syntaxı aşağıdaki gibidir.

IF kosul_1 THEN
kodlar_1
ELSIF kosul_2 THEN
kodlar_2
[ ELSIF kosul_3 THEN
kodlar_3
]
...
[ ELSE
diger_kodlar
]
END IF;

Bu yapıda, ilk koşul olan IF ve THEN arasındaki durum her zaman değerlendirilir. ELSEIF ile THEN arasındaki her diğer koşul, yalnızca önceki koşulun ‘FALSE’ olması durumunda değerlendirilir. Örneğin, koşul_2 yalnızca koşul_1 yanlışsa, koşul_3 yalnızca koşul_2 yanlış ise değerlendirilir.

 

DECLARE
satislar NUMBER := 150000;
prim NUMBER(4);
BEGIN
IF 10000<satislar and satislar<150000 then
prim:= 3000;
DBMS_OUTPUT.PUT_LINE( 'satislar 10000 ile 150000 arasında olduğu için :' || prim || ' TL''dir' );
ELSIF 150000<=satislar and satislar<200000 then
prim:= 3000;
DBMS_OUTPUT.PUT_LINE( 'satislar 150000 ile 200000 arasında olduğu için :' || prim || ' TL''dir' );
ELSIF 200000<satislar then
prim:= 3000;
DBMS_OUTPUT.PUT_LINE( 'satislar 200000 den fazla olduğu için :' || prim || ' TL''dir' );
ELSE
DBMS_OUTPUT.PUT_LINE( 'satislar 10000 i aşmadığı için prim mrim yok. ' );
END IF;
END;

Örneğimizi çalıştırdığımızda Çıktımız : satislar 150000 ile 200000 arasında olduğu için :3000 TL’dir

olacaktır.

PLSQL İç İçe IF | Nested IF ifadesi

Bir Oracle IF  ifadesini aşağıda gösterildiği gibi başka bir IF ifadesinin içine yerleştirebilirsiniz:

IF kosul THEN
IF kosul_2 THEN
kosullar_dogru_ise_burasi_calisir;
END IF;
ELSE
kosullar_yanlis_ise_burasi_calisir;
END IF;

Oracle PLSQL IF Else Then yapısını iç içe dilediğimiz kadar kullanabiliriz. Ancak bu kullanım kodun okunurluğunu ve yönetimini zorlaştırdığı için PLSQL iç içe if kullanımından kaçınmamız gerekir.

PLSQL IF ELSE İfadesi | PLSQL Nedir ?  Başlıklı PLSQL Türkçe Tutorial serimizin 5. yazısının sonuna geldik.

Diğer PLSQL Yazılarım için, TIKLAYINIZ.

Daha faydalı yazılarda görüşmek dileğiyle.

Faydalı diğer kaynaklar için TIKLAYINIZ.

PLSQL If else Kullanımı- Oracle if else Kullanımı
PLSQL If else Kullanımı- Oracle if else Kullanımı