نحوه نوشتن Curser بر روی دیتابیس
در این مثال قصد داریم که بر روی یک جدول از دیتابیس یک کرسر قرار دهیم که لیستی از فیلد هایی که مقدار دارند تعداد آنها را برای ما برگرداند و اسم فیلد مورد نظر را نمایش دهد.
--declare @table as table(name nvarchar(256),valuetable nvarchar(256), countValue int)
declare @name as nvarchar(256)
declare cur cursor for
select name from sys.columns where OBJECT_NAME(object_id)='Name Table' and
name not in (
'Fild1',
'Fild2',
'Fild3',
'Fild4'
)
order by name
open cur
fetch next from cur into @name
while(@@FETCH_STATUS=0)
begin
declare @str as nvarchar(4000) =' select '''+@name+''','+@name +', COUNT(*) from Name Table group by '+@name
print @str
exec(@str)
fetch next from cur into @name
end
close cur
deallocate cur