Sayfalar

30 Ekim 2014 Perşembe

SQL - FETCH – CURSOR YAPISI


CURSOR NEDİR ?

Veri tabanı nesneleri içinde; kayıtlar arasında , satır bazlı hareket etmemizi sağlayan mekanizmadır.
- Bu sayede , istediğimiz bir satıra hareket ederek sonucunu alabiliriz.
- Aktif kaydı tespit edebiliriz.
- Aktif kayıtta değişiklik yapabiliriz.
- Script , Stored Prodecure ve Trigger yapılarında kullanabiliriz.
- Transact- SQL ifadeleri ile bir Cursor oluşturabileceğimiz gibi Database API fonksıyonlarını da kullanabiliriz.Bu Database API fonksiyonları olarak ADO , OLEDB ve ODBC yapılarını tercih edebiliriz.

FETCH ve DİĞER ÖZELLİKLER:

Satır hareketlerini yöneten , bir Cursor ifadesidir.
-Fetch First : İlk satıra gider.
-Fetch Next : Bir sonraki satıra gider.
-Fetch Prior : Bir önceki kayıda gider.
-Fetch Last : Bir sonraki kayıda gider.
-Fecth ABSOLUTE n: Burada “n” olarak ifade edilen sayılsal bir değerdir ve kaç kayıt gidileceğini belirler.ABSOLUTE ifadesi;bu kayıt hareketlerinin her zaman ilk kayıttan başlamasını sağlar.

Fetch RELATIVE n : Yukarıdaki ifadeden farklı olarak,kayıt ilerleme miktarını o an bulunan kayıda göre yapar.

Ayrıca Cursor içinde kullanılan Forward-Only ifadesi ile sadece ileri gitme işlemi gerçekleştirilir.Bu yapıda salt Fetch Next çalışır.Eğer tüm Fetch özelliklerini kullanmak istersek ; Scrollable yapısını tercih etmemiz gerekir.Bu,tüm Fetch seçeneklerini destekler.(Sadece Dynamic Cursor ile beraber Fetch Absolute kullanımına destek vermez.)

Bir Cursor OPEN ifadesi ile açılırken , CLOSE ifadesi ile de kapanır.

Örnekler;

USE ("Databese adı")
GO

DECLARE (Tablo adı) CURSOR FOR
SELECT (Alanlar)
FROM (Tablo adı)
ORDER BY AGE ASC

OPEN (Tablo adı)
FETCH NEXT FROM (Tablo adı)
WHILE @@FETCH_STATUS=0
BEGIN
FETCH NEXT FROM (Tablo adı)
END

CLOSE (Tablo adı)
DEALLOCATE (Tablo adı)

Hiç yorum yok:

Yorum Gönder