SQL Server’da Cursor Kullanarak Update İşlemi Yapmak
Herkese merhaba,
Bu yazıda sizlere SQL Server’da cursor kullanarak update işleminin nasıl yapılacağından bahsedeceğim. Örnek işlemi Northwind veritabanı kullanarak yaptık. Kodları aşağıda görmektesiniz.
--Değişken tanımlama DECLARE @KategoriID INT --Değişkene değer atama (Sadece CategoryID=1 olanları güncelleyeceğiz) SET @KategoriID=1 --Cursor değişkeni oluşturma ve oluşturulan Cursor'un CategoryID içinde dönmesi DECLARE crs CURSOR FOR SELECT CategoryID FROM dbo.Products WHERE CategoryID=@KategoriID --Cursor açma işlemi OPEN crs --Cursor @KategoriID içinde dönecek FETCH NEXT FROM crs INTO @KategoriID --Son kayıta kadar döndürme işlemi yapıyoruz. WHILE @@FETCH_STATUS = 0 BEGIN --Güncelleme işlemi UPDATE dbo.Products SET UnitPrice = UnitPrice + 5 WHERE CURRENT OF crs FETCH NEXT FROM crs INTO @KategoriID END --Cursoru kapatıyoruz CLOSE crs --Cursor'u öldürüyoruz. DEALLOCATE crs --Kontrol ediyoruz. SELECT * FROM dbo.Products WHERE CategoryID=1
Yukarıdaki işlemde ürünler tablosunda kategorisi bire eşit olanların birim fiyatını 5 birim arttırdık. Bu tarz işlemlerde cursor kullanımı oldukça pratik olacaktır.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.