Sql Server if-else Yapısı

Herkese merhaba, Sql Server yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Sql Server’da if-else yapısından bahsedeceğim. Hadi başlayalım !
if-else yapısı belkide tüm programlama dillerinde var olan bir yapı ve bir ifadenin olası durumlarına göre yapılacak işlemleri belirlemek için kullanılmakta. Sql Server gibi güçlü bir veritabanı sistemi ve dilinde de var. Örneğin tablodaki bir sütundaki verinin durumuna göre güncelleme veya ekleme işlemi yapmak, bir sayının değerine göre herhangi bir işlem yapma gibi bir çok varyasyonda kullanılabilir. Fakat else if yapısı yok. Yani if-else if-else if-else gibi bir durum kontrolü yapılamamakta. Bunun yerine else içerisine if koyarak dolaylı yoldan else if yapısı kurulabilmekte. if-else yapısının kuralı ise şöyle;
if if_şartı
begin
-- if içerisinde yapılacaklar
end
else
begin
-- else içerisinde yapılacaklar
end
Buradaki begin ve end kelimeleri sabit, yani olması gerekiyor. if_şartı yerine ilgili kontrol şartını yazmanız gerekiyor. if yada else içerisinde birden çok satırda yazılabilmekte. Ayrıca else olması şartı da yok, sadece if kullanabilirsiniz. Örneğin dışarıdan gelen 2 tane sayının büyük olanına büyük, küçük olanına küçük yazdıralım;
declare @sayi1 int, @sayi2 int;
if @sayi1 > @sayi2
begin
select 'Birinci sayı ikinci sayıdan büyüktür';
end
else
begin
select 'İkinci sayı birinci sayıdan büyüktür';
end
Dolaylı yoldanda olsa else if yapalım;
declare @sayi1 int, @sayi2 int;
if @sayi1 > @sayi2
begin
select 'Birinci sayı ikinci sayıdan büyüktür';
end
else
begin
if @sayi2 > @sayi1
begin
select 'İkinci sayı birinci sayıdan büyüktür';
end
else
begin
select 'İki sayı eşittir';
end
end
Ayrıca bir Sql sorgusundan dönen yanıtı da if şartı olarak kullanabiliriz. Örneğin varchar tipte kitapAdi sütunu olan kitaplar tablosunun olduğunu varsayalım. Sefiller adında bir kitap var mı diye bakalım ve yoksa eklemesini yapalım;
if exists(select * from kitaplar where kitapAdi = 'Seffiler')
begin
select 'Sefiller kitabı var';
end
else
begin
insert into kitaplar(kitapAdi) values('Sefiller');
select 'Kitap eklendi';
end
Son yazdığımız kodda öncelikle kitaplar tablosunda kitapAdi değeri Sefiller olan kitap var mı diye baktık ve varsa ‘Sefiller kitabı var’ yazdırdık, yoksa da yeniden ekledik ve ‘Kitap eklendi’ yazdırdık.
Sql Server’da if-else yapısı bu şekilde kullanılmakta. Tüm Sql Server yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.