SQL2005 实现while循环

使用while循环来对每一行执行操作。示例代码如下:

 

DECLARE @count INT
SET @count=0
DECLARE @maxCount INT
SET @maxCount=0
SELECT @maxCount=COUNT(*) FROM TwitterHot
WHERE CataID=1

WHILE @maxCount>0
BEGIN

 

 UPDATE TwitterHot SET Sort=@count+1 

 WHERE ID=(SELECT TOP 1 ID FROM TwitterHot WHERE Sort=0 AND cataID=1 ORDER BY ID)
 

 SET @count=@count+1
   SET @maxCount=@maxCount-1
END

 

 

使用SQL2005中的新函数ROW_NUMBER()和while循环来对每一行执行操作。示例代码如下:

 

selectDepartment_NoasdepartmentNo,ROW_NUMBER() OVER(ORDER BY Department_No) AS rowNumber into#depTemp--建立临时表
fromdepartments

declare@maxint--获得最大的rowNumber
select@max=max(rownumber)
from#depTemp

declare@rowNoint
set@rowNo=1
while@rowNo<=@max--对每一个rowNumber进行循环操作
begin
--这儿对每一行要进行的操作的代码
set@rowNo=@rowNo+1
end

droptable#depTemp--清除临时表

阅读更多
文章标签: sql
博主设置当前文章不允许评论。

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭