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.