Sql veri tabanında kursor kullanmı

Sql Veri tabanında kursor nasıl kullanılır bu makalemde sizlere bunu göstereceğim


CREATE TABLE kitap
                      (
kitapNo INT IDENTITY(1, 1) NOT NULL PRIMARY KEY,
kitapAdi VARCHAR(55) NOT NULL,geldiMi BIT
                       )
DECLARE cursor_adi CURSOR FOR
SELECT İFADESİ
DECLARE cr_ogrenciAdlari CURSOR FOR
SELECT o.ad, o.soyad FROM dbo.tbl_ogrenci o


DECLARE @ad NVARCHAR(50),@soyad NVARCHAR(50)
OPEN cursor_adi

OPEN cr_ ogrenciAdlari

FETCH NEXT FROM cursor_adi [INTO icine_doldurulacak_degisken1 [, ....] ] 
FETCH NEXT FROM cr_KitaplarListesi INTO @kitapNo, @kitapAdi 
-- ilk satirin üstüne geldik ve ilk kayitta yer alan iki değeri yazdirdk. 
print @kitapNo 

print @kitapAdi


Örnek: Sehir tablosundaki sehilerin bölgelerini bularak ekrana yazdıran 

cursor ifadesini yazalım.

DECLARE cr_sehir CURSOR FOR

SELECT sehir,bolge_id FROM tbl_sehir

DECLARE @sehir NVARCHAR(65),@bolge_id INT, @bolgeAdi NVARCHAR(40)

OPEN cr_sehir

FETCH NEXT FROM cr_sehir INTO @sehir,@bolge_id

WHILE @@FETCH_STATUS=0

BEGIN

SET @bolgeAdi = (SELECT bolgeAd FROM tbl_bolge WHERE bolge_id=@bolge_id)

PRINT @sehir + ' '+@bolgeAdi

FETCH NEXT FROM cr_sehir INTO @sehir,@bolge_id

END

CLOSE cr_sehir


DEALLOCATE cr_sehir

0 yorum:

Yorum Gönder

 
© 2014 İrfan Blog ' s | Mehmet İrfan ErdoğanTüm Hakları Saklıdır | r