IF...ELSE... Deyimi
If else yapısı her programlama dilinde olduğu gibi belirtilen koşulların kontrolünü sağlamakta kullanılır.
Stored procedure ve Batch içinde kullanılabilir.
IF koşul
Doğru ise çalışacak Sql deyimi
IF koşul
Doğru ise çalışacak Sql deyimi
ELSE
Yanlış ise çalışacak sql deyimi
If içinde birden fazla sql komutu bulunacak ise bu komutlar BEGIN ... END arasına konur
IF koşul
BEGIN
Doğru ise çalışacak Sql deyimi
END
IF koşul
BEGIN
Doğru ise çalışacak Sql deyimi
END
ELSE
BEGIN
Yanlış ise çalışacak sql deyimi
END
IF @para>500
Select * from personel -- if içinde koşula bağlı çalışır
Select * from satis -- if içinde değil
IF @para>500
BEGIN
Select * from personel --koşula bağlı
Select * from satis -- koşula bağlı
END
Örnek:
Personel tablosunda maaş ortalaması 1000’den büyük ise “maaş ortalaması yüksek”, küçük ise “maaş ortalaması düşük” mesajı versin.
IF (select avg(maas) from tbl_personel)>1000
Print 'Maaş ortalaması yüksek'
ELSE
Print 'Maaş ortalaması düşük'
Go
Örnek:
Yukarıdaki kodu değişken tanımlayarak yeniden yazalım.
DECLARE @ortalama money
SELECT @ortalama=(select avg(maas) from tbl_personel)
IF @ortalama>1000
Print 'Maaş ortalaması yüksek'
ELSE
Print 'Maaş ortalaması düşük'
Yukarıdaki kodda
* @ortalama isimli değişken tanımladık.
* Bu değişkene personel tablosunun ortalamasını atadık.
Ortalama değişkeninin değerinin 1000’den büyük olup olmadığını kontrol ettik.
Büyükse 'Maaş ortalaması yüksek', değilse
'maaş ortalaması düşük' mesajı verdirdik ve @ortalama değişkenini yazdırdık.