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:
- PLSQL IF THEN
- PLSQL IF THEN ELSE
- 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.
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.