DEV Community

Hakan Yalitekin
Hakan Yalitekin

Posted on • Originally published at hakanyalitekin.wordpress.com on

SQL Cursor Kullanımı

Merhaba, başlıktan da anlaşılacağı üzere bugün SQL’de çok sık olmasa da ara ara kullandığımız cursor yapısından bahsedeceğim. Cursor yapısı alında macro recorder ya da for yapılarına benzetilebilir. Tanımı biraz daha kısaltacak olursak; cursor : verilen veriler arasında satır satır dönerek işlem yapılmasına olanak sağlayan yapıdır.

Öncelikle çıktı sonucunu görebilmek adına Id, AdSoyad ve Departman-dan oluşan basit bir veritabanı oluşturalım. Daha sonra aşağıda ki kodu SSMS’te çalıştırıp sonuçları başarılı bir şekilde alabildiysek kod içerisinde ki yorum satırlarını inceleyerek meseleyi kavramaya çalışalım.


DECLARE @crs_AdSoyad NVARCHAR(MAX), @crs_Departman NVARCHAR(MAX) -- Kullanacağımız parametreleri tanımlıyoruz.

    DECLARE crs_Kullanici CURSOR FOR

    SELECT AdSoyad,Departman FROM Kullanicilar -- Cursur de işlenecek veriler ve listeyi select sorgusu ile çekiyoruz .

    OPEN crs_Kullanici -- Cursor ü açıyoruz

    FETCH NEXT FROM crs_Kullanici INTO @crs_AdSoyad, @crs_Departman -- Select sorgusunda gelen sütunlar sırasına göre değişkenlere atanır Örn : @crs_AdSoyad = @AdiSoyadi

    WHILE @@FETCH_STATUS =0
        BEGIN

            PRINT @crs_AdSoyad + ' => ' + @crs_Departman
            --SELECT , INSERT , UPDATE İŞLEMLERİ YAPILABİLİR

            FETCH NEXT FROM crs_Kullanici INTO @crs_AdSoyad, @crs_Departman

        END

    CLOSE crs_Kullanici -- Cursor ü kapatıyoruz.

    DEALLOCATE crs_Kullanici -- Cursor ile işimiz bittiğinde sistemden tamizlememiz için DEALLOCATE etmemiz gerekmektedir.


Enter fullscreen mode Exit fullscreen mode

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay