Chinaunix首页 | 论坛 | 博客
  • 博客访问: 198113
  • 博文数量: 264
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 2740
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-03 13:25
文章分类

全部博文(264)

文章存档

2011年(1)

2009年(263)

我的朋友

分类: 数据库开发技术

2009-06-23 15:44:54

如果我们想对一个表的每一行做出比较复杂的操作,大多会想到用游标,本文中,我们将换一种思路,用sql server 2005中的新函数ROW_NUMBER()和while循环来对每一行执行操作。详细的示例代码如下:

select Department_No as departmentNo,ROW_NUMBER()

OVER(ORDER BY Department_No) AS rowNumber into

#depTemp--建立临时表
from departments

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

declare @rowNo int
set @rowNo=1
while @rowNo<=@max
--用来对每一个rowNumber来进行循环操作
begin
--此处对每一行要进行的操作的代码
set @rowNo=@rowNo+1
end
drop table #depTemp--清除临时表
阅读(752) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~