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..
IT Tutorial IT Tutorial | Oracle DBA | SQL Server, Goldengate, Exadata, Big Data, Data ScienceTutorial