SQL Server’da Karar İfadeleri ve Döngü Kullanımı
  1. Anasayfa
  2. SQL Server

SQL Server’da Karar İfadeleri ve Döngü Kullanımı

2

SQL Server’da Karar İfadeleri ve Döngü Kullanımı. T-SQL komutlarında bazen bir ifadeyi bir koşula dayandırarak çalıştırma ihtiyacı duyabiliriz. Bu durumlarda karar ifadeleri ve döngüler yardımımıza koşar. Karar ifadeleri ve döngüler yardımıyla belli bir ifadeyi belli bir sayıda veya belli bir koşul gerçekleşinceye kadar çalıştırabiliriz. Peki bunlar nelerdir, kısaca inceleyelim.

IF-ELSE Döngüsü

Karar ifadelerinin en basiti ve en çok kullanılanıdır. IF komutunu izleyen boolean ifade TRUE olursa takip eden ifadeler, FALSE olursa ELSE komutundan sonra gelen ifadeleri gerçekleştirecektir. IF kullanımında iç içe IF blokları da kullanabiliriz.

Bir örnekle inceleyelim.

sql döngü
Resim-1

IF EXISTS Döngüsü

Bu komut ile de bir kaydın var olup olmadığını sorgularız. Daha çok database’de bir objenin var olup olmadığını sorgulamak istediğimiz zaman kullandığımız bir komuttur.

sql döngü
Resim-2

CASE

Birden çok boolean deyimlerini karşılaştırmalı olarak tek bir ifade içinde belirtmemize olanak tanır. Select, update gibi ifadeler ile birlikte kullanılır. CASE ifadesi komut değil bir işlev olduğu için IF komutunda olduğu gibi tek başına kullanılmaz.

sql döngü
Resim-3

WHILE

C# da yazılım yaparken kullanılan Foreach döngüsünün SQL Server’daki karşılığı WHILE döngüsü diyebiliriz. İfadelerin belli bir koşul gerçekleşinceye kadar çalışmasını sağlar. Döngü ancak ilgili koşulun TRUE veya FALSE olması ile birlikte durdurulabilir. Eğer şart belirlenmeden bir WHILE döngüsü oluşturulursa döngü sonsuz döngü olur.

IF kullanımında iç içe IF blokları kullanabildiğimiz gibi, WHILE döngüsü içinde de bir WHILE döngüsü oluşturabiliriz. Bunu yapabildiğimiz gibi WHILE döngüsü içinde de IF blokları oluşturabiliriz ya da tam tersi IF blokları içinde de WHILE döngüleri oluşturabiliriz.

İlk örneğimizde 1’den 10’a kadar sayıları WHILE döngüsü ile ekrana yazdıralım.

sql döngü
Resim-4

Diğer örneğimizde ise WHILE döngüsü ile ürün kod değeri çift sayi olan ürünlerin ad, ürün kodu ve renk bilgilerini ekrana yazdıralım.


Resim-5

CURSOR KULLANIMI

SQL Server’da bir sorgu sonucu dönen kayıtlar üzerinde satır bazlı işlem yapmak için CURSOR kullanırız. CURSOR hangi satır üzerinde ise o satırda bulunan veriler ile işlem yaparız. CURSOR kullandığımız Select cümlesinde dönen her kayıt bir değişkene atanmalıdır. Select cümlesinden hangi veri tipinde ne kadar kayıt dönecek ise o kayıt sayısı kadar aynı veri tiplerinde değişkenler tanımlarız.

CURSOR kayıtlar üzerinde dolaşmaya başlamadan önce Open komutu ile açarız, Fetch Next komutu ile kayıtlar üzerinde ilerleriz, kayıtlar ile ilgili işlemler bittikten sonra ise Close komutu ile kapatırız.

Bir örnek ile inceleyelim.

Örneğimizde DimGeography tablosundan aldığımız key alanı ile DimCustomer

tablosu üzerinde sorgu çalıştırıyoruz ve o key alanına ait olan bölgelerdeki müşteri sayısını alıp Customer_Count tablomuza ekliyoruz.


Resim-6

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

WHILE (Transact-SQL)

Bu İçeriğe Tepkin Ne Oldu?
  • 17
    harika_
    Harika!!
  • 5
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 2
    sevdim_
    Sevdim!
  • 5
    bilemedim_
    Bilemedim!
  • 2
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Şeyda Ocak, lisans eğitimini Sakarya Üniversitesi Bilgisayar Mühendisliği bölümünde, yüksek lisans eğitimini ise Sakarya Üniversitesi Bilgisayar ve Bilişim Mühendisliği bölümünde tamamlamıştır. Veri tabanı yazılımı ve raporlama dünyasına üniversitenin ilk yıllarında aldığı SQL Server veri tabanı eğitimleri ile başlayan Şeyda, sektörün önde gelen firmalarında İş Zekası alanında Microsoft teknolojileri üzerine çalışmış, şu anda Türkiye Finans Katılım Bankası’nda Veri Ambarı ve Yasal Raporlamalar Yönetici Yardımcısı olarak görev almaktadır.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (2)

  1. resim koyacağınıza kodları paylaşsanız daha iyi olurdu

  2. 19/03/2022

    Teşekkürler, çok faydalı oldu. Kolay gelsin…

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir