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