SQL Server遍历表中记录的实现方法


  本文标签:SQL Server遍历表

  SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录  。

  但游标在实际的开发中都不推荐使用  。

  我们知道还可以借助临时表或表变量等来实现SQL Server遍历表

  下例为用表变量来实现简单的循环:

  (直接复制到查询分析器中运行即可)

  1. declare @temp table   
  2. (   
  3.    [id] int IDENTITY(1,1),   
  4.    [Name] varchar(10)   
  5. )   
  6. declare @tempId int,@tempName varchar(10)   
  7.  
  8. insert into @temp values(a)   
  9. insert into @temp values(b)   
  10. insert into @temp values(c)   
  11. insert into @temp values(d)   
  12. insert into @temp values(e)   
  13.  
  14. --select * from @temp   
  15.  
  16. WHILE EXISTS(select [id] from @temp)   
  17. begin   
  18. SET ROWCOUNT 1    
  19. select @tempId = [id],@tempName=[Name] from @temp   
  20. SET ROWCOUNT 0   
  21. delete from @temp where [id] = @tempId   
  22.  
  23. print Name:----+@tempName   
  24. end  
  25.