Merhaba, PL/SQL Programlama yazı serisinin 6.’sı ile devam ediyoruz. Bir önceki yazı da IF-THEN yapılarını incelemiştik, o yazımızı görmeyenler buradan ulaşabilir.
CASE-WHEN:
CASE yapısı da aynı IF yapısında olduğu gibi bir koşul üzerinde işlem yapar, farkı ise CASE yapısı birden farklı şartı karşılaştırıp TRUE yada FALSE değer döndürmektedir. Bu yapıda karşılaştırılacak koşullar ve bunların sonuçları CASE-WHEN-THEN arasında yapılır ve END-CASE; ile sonlanır
DECLARE not_harf CHAR(1); BEGIN not_harf:='C'; CASE not_harf WHEN 'A' THEN DBMS_OUTPUT.PUT_LINE('BAŞARILI'); WHEN 'B' THEN DBMS_OUTPUT.PUT_LINE('İYİ'); WHEN 'C' THEN DBMS_OUTPUT.PUT_LINE('DAHA ÇOK ÇALIŞMALI'); ELSE DBMS_OUTPUT.PUT_LINE('NOT BULUNAMADI!'); END CASE; END /
SEARCHED CASE:
Bu CASE yapısında farklı olarak when yapısından önce kullandığımız arama ifadesini kullanmayarak WHEN-THEN bloğunda koşul alanında kullanırız. Sağlanan koşulda da yapılan THEN ifadesinden sonra yer alan kod bloğu çalışacaktır.
DECLARE not_harf CHAR(1); BEGIN not_harf:='A'; CASE WHEN not_harf:='A' THEN DBMS_OUTPUT.PUT_LINE('BAŞARILI'); WHEN not_harf:='B' THEN DBMS_OUTPUT.PUT_LINE('İYİ'); WHEN not_harf:='C' THEN DBMS_OUTPUT.PUT_LINE('DAHA ÇOK ÇALIŞMALI'); ELSE DMBS_OUTPUT.PUT_LINE('NOT BULUNAMADI'); END CASE; END; /
Bu yapı da diğeriyle benzer sadece birkaç satır farklılıkları gösteriyor, istediğinizi kullanmak size kalmış.
Bir sonraki yazı da döngüler ile devam edeceğiz görüşmek üzere..