当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 在SQL 2005中实现循环每一行做一定的操作

MSSQL
SQL Server 2008 层次ID数据类型
超全sql语句全集值得收藏
深入了解SQL Server 2008高可用性
Mysql服务无法启动的1067错误解决
MySQL实现SQL Server的sp_executesql
SQL中自己创建函数 分割字符串
Sql server 2005 找出子表树
SQL Server数据库备份多种方法
如何恢复/修复SQL Server的MDF文件
浅析SQL Server 2008企业级新特性
SQL Server小知识:Processor Affinity
如何应对SQL Server数据库崩溃
微软SQLServer密码管理的危险判断
SQLServer 2005中如何列所有存储过程
sql server 带列名导出至excel
SQL Server中索引使用及维护
编写安全的SQL Server扩展存储过程
SQL Server数据库实用小技巧集合
给SQL Server传送数组参数的变通办法
SQL语句参考及记录集对象详解

MSSQL 中的 在SQL 2005中实现循环每一行做一定的操作


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 111 ::
收藏到网摘: n/a

如果我们想对一个表的每一行做出比较复杂的操作,大多会想到用游标,本文中,我们将换一种思路,用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--清除临时表