SQL Server’da Cursor Kullanmadan Tablo Üzerinde Gezinmek

Herkese merhaba,

Bu yazıda SQL Server’da cursor kullanmadan tablo üzerinde gezinmek hakkında bilgi vereceğim.

SQL Server’da birçoğunuz büyük ihtimal cursor kullanmıştır. Kullanmayanlarda üzülmesinler artık birçok insan gerekmedikçe cursor kullanmıyor ama siz yine de nasıl kullanıldığını öğrenin.

Konuyu yazma sebebim bu tarz işlemlerin cursor kullanılmadan nasıl yapılabileceği hakkında bilgi sahibi olmanız. Ayrıca bu yöntem cursor kullanmaya göre daha verimli bir yöntemdir ki büyük çaplı işlemlerde bunu hissedersiniz.

İşlemi yaparken basit bir tablo oluşturdum ve tablo üzerinde gezinirken PRINT kullanarak seçtiğim bir kolonu yazdırdım. Siz güncelleme ya da silme işlemlerinde de kullanabilirsiniz.

Aşağıdaki kodu kendinize göre düzenleyerek istediğiniz işlemleri rahatlıkla yapabilirsiniz.

--Tablo oluşturmak

CREATE TABLE AdSoyadTablosu (
	Id INT PRIMARY KEY IDENTITY (1, 1)
   ,AdSoyadi NVARCHAR(30)
)

--Tabloya veri eklenmesi

INSERT INTO AdSoyadTablosu (AdSoyadi)
	VALUES (N'Yavuz Selim Kart'), (N'Hasan Ali Kart'), (N'Bilge Nuray Kart')

--Tablonun kontrol edilmesi

SELECT
	*
FROM AdSoyadTablosu

--Cursor kullanmadan tablo üzerinde dolaşmak
--Sondan başa

DECLARE @Sayac INT;
DECLARE @AdSoyad NVARCHAR(30);
SELECT
	@Sayac = COUNT(*)
FROM AdSoyadTablosu;
WHILE @Sayac > 0
BEGIN
SELECT
	@AdSoyad = AdSoyadi
FROM AdSoyadTablosu
WHERE Id = @Sayac;

PRINT @AdSoyad;
SET @Sayac = @Sayac - 1;
END;

--Cursor kullanmadan tablo üzerinde dolaşmak
--Baştan sona

DECLARE @BaslangicSayisi INT = 1
DECLARE @Sayac INT;
DECLARE @AdSoyad NVARCHAR(30);
SELECT
	@Sayac = COUNT(*)
FROM AdSoyadTablosu;
WHILE @Sayac >= @BaslangicSayisi
BEGIN
SELECT
	@AdSoyad = AdSoyadi
FROM AdSoyadTablosu
WHERE Id = @BaslangicSayisi;

PRINT @AdSoyad;
SET @BaslangicSayisi = @BaslangicSayisi + 1;
END;

Yukarıda cursor kullanmadan tablo üzerinde dolaşmak kısmını hem sondan hem de baştan başlayacak şekilde yazdım. Hangisini isterseniz kullanabilirsiniz.

Tabloyu oluşturup kodları çalıştırdığınızda aşağıdaki gibi bir sonuç göreceksiniz.

SQL Server’da Cursor Kullanmadan Tablo Üzerinde Gezinmek

Görüldüğü üzere tablo üzerinde dolaşılıp AdSoyad kolonu yazılmış oldu.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

383 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!