Senaryomuz şöyle olsun, Table_1 isimli tablomuzdaki pr kolonundaki kayıtlarda teker teker dönüp, ssPromoCode tablosundaki kolonlardan birine ekleyelim. Bunun için düşünmemiz gereken çözüm, Table_1 tablosundaki pr kolonunda kayıt kayıt gezip, her kaydı ssPromoCode tablosuna eklemek olacak. İşte burada Cursor kavramı devreye girecek.
Kısaca kullanılışı;
declare @code nvarchar(10)
declare dongu cursor for --dongumuzu tanımlıyoruz
select pr from Table_1 --pr kolonundaki tüm kayıtları getiriyoruz
open dongu --dongumuzu açalım
fetch next from dongu into @code --ilk kayıt
while @@FETCH_STATUS=0 --döngü sonlanmadıkça, veri gelişi bitmedikçe döngü devam edecek
begin
insert into Urunler(Pr,Pr_OK,Pr_Dt,Pr_Total)
values
(@code,1,GETDATE(),,100)
fetch next from dongu into @code --bir sonraki kaydı getirir
end
close dongu--dongumuzu kapatırız.
deallocate dongu--dongumuzu tamamen bellekten sileriz
0 yorum:
Yorum Gönder