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.

1.424 Kez Okundu

Kategoriler: