|
|||
Sql' de Denetim Deyimleri ve Döngüler (if-case-while)
SQL SERVER' de IF Else Kullanımı:
Karar ifadelerinin en basitidir. If komutunun ifadesi doğru olursa takip eden ifadeler,yanlış olursa else ifadesinden sonraki ifadeler işleyecektirAşağıda yazım şekli gösterilmiştir. if(mantıksal ifade) else //else yerine else if (şart) şeklinde kontrol cümleleri artırılabilir. İki notun ortalamasını hesaplayıp geçme kalma durumunu ekrana yazdıralım: declare @n1 int, @n2 int,@ortalama float Şimdide bir önceki deste kullandığımız tablo ile declare @_1yazili int
select @_1yazili=AVG(ogr_not1)from ogrenci if(@_1yazili<45) begin print 'sınıfın 1 yazılı ortalaması 45 den küçük' end else begin print 'sınıfın 1 yazılı ortalaması 45 den büyük' end
onur kara ismli öğrencinin notunu ve durumunu değişkenler kullanarak hesaplayalım: declare @n1 int, @n2 int, @n3 int, @ortalama float if(@ortalama<45)
Case Deyimi: Birden çok deyimlerini tek bir ifade içinde belirtmemize olanak tanır. SELECT yada UPDATE ifadeleri ile birlikte kullanılır. Case ifadesi IF gibi tek başına kullanılamaz. CASE değer declare @n1 int
set @n1=9 select sayi=case @n1 when 1 then 'bir' when 2 then 'iki' when 3 then 'üç' when 4 then 'dört' when 5 then 'beş' else 'kayıtlarda yok' end Yukarıdaki örnekte değişkenin değerine göre rakamları harfe çevirir ogrenci tablomuza cinsiyet alanı ekleyelim.erkekler için e kızlar için k değerlerini girelim: Burada case yi kullanarak alanların değiştirerek (e=erkek k=kız) yazalım select ogr_ad,cinsiyet,cinsiyeti=case cinsiyet
when 'e' then 'erkek' when 'k' then 'kız' end from ogrenci
While Döngüsü Tekrar gerektiren işlemlerde istenilen şart gerçekleşinceye kadar işlem yapmaya olanak sağlar. While ile bir işlemi istenilen kadar tekrarlatabilirsiniz. Genel yapısı şu şekildedir: WHILE şart
BEGIN Tekrarlanması gereken kodlar END while döngüsü ile toplama işlemi yapalım; Cdeclare @sayac int, @sayi int,@toplam int
set @toplam=0 set @sayi=10 set @sayac=0 while (@sayac<5) begin set @toplam=@toplam+@sayi set @sayac=@sayac+1 print @toplam end
|