mssql sqlserver 遍历循环的新方法


摘要:
在sql脚本,通常提到遍历,我们就想到游标,
下文将讲述一种新的遍历方法
while循环方法



while 循环执行的方式,将待遍历数据放入一张临时表中,
然后通过条件判断设定遍历的终止条件,如下代码所示


例:遍历循环打印出当前数据下所有表名

 declare @i int     ---定义循环条件
 declare @imax int  ---定义循环终止条件
 declare @name varchar(200) ---定义循环中临时变量

 declare @tableList table   ---定义待循环数据列表
 (keyId int identity(1,1),
  name  varchar(200))
 /*生成表数据*/
 insert into @tableList (name) 
 select name from sysobjects where xtype='u'     --生成循环数据列表
   
 set @i=1
 select @imax=max(keyId) from @tableList a  ---获取最大条件
 
 while @i < = @imax  
 begin
  set @name =''
  select @name =name from @tableList a where a.keyId =@i
  if isnull(@name,'')  !=''
   begin
    print '表名:'
    print @name 
   end
 set @i=@i+1 
 end