MSSQL循环

虽然很多大牛建议不要用游标,但是实际情况又不能不用地。

一般在mssql中经常用的会有while和游标cursor。

--for循环一般是在知道数据范围内
select 0 as aint into mytable
declare @i int
set @i=0
while @i<=100
begin
     insert into mytable select @i
     set @i=@i+1
end  
select sum(aint) from mytable

 

--游标常用于重数据表中取出参数

declare @cur char(20)  --定义接收游标参数

declare cur cursor  for select [distinct] name from goods [where] order by name    --定义游标,

open cur  -1 打开游标
     fetch  next from cur into @cur --取出第一条记录,将值出入@cur,初始化
             insert into newtable
              select * from order where name=@cur    
    fetch next cur into @cur       --移到下一条记录,执行上面的语句继续循环,相当于游标是个数组
close cur  --关闭游标
deallocate cur  --处理游标,释放
posted @ 2010-12-15 17:27  Tomi-Eric's  阅读(527)  评论(0编辑  收藏  举报