今天同学遇到个需要遍历表的问题,以前做过一个表中有自增列的例子,但这个是没有这个属性的。重建表代价实在是太大了!所以就搜了一些资料见到一个例子,所以试了试,居然成功了!偶也是一数据库菜鸟!O(∩_∩)O~
declare @myIndex int--遍历时的索引
declare @affairs varchar(10)--存储属性值
set @myIndex = 0--初始化索引从0开始,sql 2000环境下貌似要加单引号:'0'
declare @totalCount int--存储此数据表中总记录数
set @totalCount = (select count(1) from Affairs)--赋值总记录数
print @totalCount--打印总记录条数
while @myIndex < @totalCount --循环过程
begin
set ROWCOUNT @myIndex--定位数据记录行
--Affairs是表中的一个属性,根据表所取属性不同而不同,多取几个在后面添加取值就可以了
select @affairs = [Affairs] from dbo.Affairs
print @myIndex
print @affairs
set @myIndex = @myIndex + 1 --这句不用解释了
end
--另外有一种适合表中具有自增一属性的表,但这里的方法是通用的,具体见另一篇文章,此例执行结果图:

本文介绍了一种在没有自增列的情况下遍历SQL Server数据库表的方法。通过设置索引和使用循环结构,可以有效地遍历表中的每一项记录,并打印出来。此方法适用于不具备自增属性的表。
21

被折叠的 条评论
为什么被折叠?



