May
7
2013

TSQL - Tablo Verisini Döngü İçinde Kullanma (FETCH)

Select ile aldığımız veri içinde satır satır dönmek için TSQL de FETCH kontrolü kullanılmaktadır. Çalışma mantığı FOR/FORECH gibidir.

Kullanımı;

Önce veri içinde dönerken kullanılacak değişkenleri tanımlamamız gerekecektir.

DECLARE @LastName varchar(50), @FirstName varchar(50);

Daha sonra dongü için bir isim tanımlayarak, CURSOR FOR ile işlemimize başlıyor ve Select cümlemizi yazıyoruz.

DECLARE dongu_adi CURSOR FOR
SELECT LastName, FirstName FROM Customer
WHERE LastName LIKE 'B%'

 Döngüye başlayacağımızı bildiriyoruz.

OPEN dongu_adi;

Döngü bloğu ve içinde dönülecek değişkenlerimiz,

FETCH NEXT FROM dongu_adi
INTO @LastName, @FirstName;

WHILE @@FETCH_STATUS = 0
BEGIN
   -- işlemleri burada yapıyoruz
   PRINT 'Müşteri Adı : ' + @FirstName + ' ' +  @LastName

   -- sonraki kayit, yapilmaz ise sonsuz donguye girebilir
   FETCH NEXT FROM dongu_adi
   INTO @LastName, @FirstName;
END

Tüm işlemler bittiğinde döngümüzü kapatıyoruz.

CLOSE dongu_adi;
DEALLOCATE dongu_adi;

Hepsi bu kadar :)
Tüm kodlar;

DECLARE @LastName varchar(50), @FirstName varchar(50);

DECLARE dongu_adi CURSOR FOR
SELECT LastName, FirstName FROM Customer
WHERE LastName LIKE 'B%'

OPEN dongu_adi;

FETCH NEXT FROM dongu_adi
INTO @LastName, @FirstName;

WHILE @@FETCH_STATUS = 0
BEGIN
   -- işlemleri burada yapıyoruz
   PRINT 'Müşteri Adı : ' + @FirstName + ' ' +  @LastName

   -- sonraki kayit, yapilmaz ise sonsuz donguye girebilir
   FETCH NEXT FROM dongu_adi
   INTO @LastName, @FirstName;
END

CLOSE dongu_adi;
DEALLOCATE dongu_adi;

İyi günler :)

Aylara Göre

En Son Yorumlar

Gösterme