mssql sqlserver 对”拥有流水号的表”遍历方法分享


摘要:
下文通过举例讲述,sqlserver中对拥有标识列的表循环的方法,如下所示:
实验环境:sqlserver 2008 R2



实现思路:
使用while循环,依次对表每条数据进行循环处理
1.先定义循环起始值
2.然后每次获取大于循环起始值的一条数据,同时将起始值前进至最近的一条数据
3.当无数据时,则终止循环

   create table [maomao365.com]
(keyId int identity,
 info  nvarchar(100)
 )
 go
 
 insert into [maomao365.com](info)values
 (N'sqlblog'), (N'猫猫'), (N'爱好者'),
  (N'循环'), (N'while'), (N'other')
  go

  ---循环开始
  declare @i int 
  set @i =0  ---循环开始位置

  while (@i is not  null)
  begin
      select top 1 @i = min(keyId) from [maomao365.com]
	    where keyId >@i 

      print @i 
  end
  go
  ---循环结束

 go
 truncate table [maomao365.com]
 drop     table [maomao365.com]