在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。
下面介绍下关于游标的使用:
declare @str varchar(600)
declare @i varchar(700)
set @str=''
declare cur cursor for --声明一个游标
(select distinct student from dbo.StudentsScore)
open cur --打开游标
fetch next from cur into @i
while (@@fetch_status=0) --判断是否有读到记录
begin
set @str=@str+@i+',' --字符串累加
fetch next from cur into @i
end
set @str=left(@str,len(@str)-1)
print @str
close cur --关闭游标
deallocate cur --释放游标
运行后的结果是: 学生A,学生B,学生C,学生D,学生E,学生F
备注:运行此程序时,需要有数据库表StudentsScore。