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.

545 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!