Merhabalar Sql başlıca kullanılan işlemlerden biride Cursor ler dir.
Cursor ler kayıt kümesi üzerinde satır satır hareket etmemizi sağlar.
Nisbeten performans gerektiren bir işlem oldugundan dikkatli kullanılmasında fayda var.
Bu cursor blogunu herhangi procedure içinde rahatca kullanabiliriz.
Yaptıgı işlem ise bi tablodan çektigi verileri diger bi taboya insert yapıyor.
"ee zaten bunu cursor kullanmadan da yapabilirim hemde daha kısa ve kolay..." diyen arkadaşlarım olabilir, biliyoruz bunun çok çok faklı yollarıda var burda asıl amaç Cursor yazımını kavramak.
declare @code varchar(11)
declare @unvani nvarchar(50)
DECLARE DENEME_CURSOR CURSOR FOR -- cursor umuzu tanımlıyoruz
SELECT CODE, DEFINITION_ FROM CL
OPEN DENEME_CURSOR --kullanıma açtık
FETCH NEXT FROM DENEME_CURSOR INTO @code, @unvani
WHILE @@FETCH_STATUS<>-1 --kayıtlar üzerinde hareket etmeye başladıkBEGIN
insert into CLC Values(@code,@unvani) --insert yapıyoruz...
FETCH NEXT FROM DENEME_CURSOR INTO @code, @unvani
END
CLOSE DENEME_CURSOR -- işi biten cursor kapatılmalıDEALLOCATE DENEME_CURSOR --Bellekde haliyle yer kaplayacagı için cursor le ilgili herşeyi temizledik...
CURSOR kullanımı oldukca kolay ve keyflidir. Artık cursor mantıgını ve yazımını kavradıgımız için gerekli hallerde hemen devreye sokarak işlerimi halledebiliriz.
Bir süre daha T-SQL üzerine gidecegim. Adım adım ilerleyerek en sonlarında senaryolarla ögrendigimiz konuları pekiştirmeyi hedefliyorum.
Bir sonra ki yazmızda görüşmek üzere hoşçakalın...
1 yorum :
sql de ve program yazımında cursor kullanımmından kaçınılmalıdır. Canlı ortamda sql deki performans kayıpları yüksektir.
CevaplaYorum Gönder