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

MSSQL
SQL Server 数据库操作实用技巧锦集
SQL Server转换为XQuery及反向转换
SQL Server 数据库崩溃后的恢复之法
在 SQL Server数据库开发中的十大问题
SQL Server 2000日志转移实现高可用性
帮你六步改善SQL Server安全规划全攻略
教你如何在SQL Server计算机列和平均值
理解 SQL Server 中系统表Sysobjects
用实例分析如何整理SQL Server输入数据
让VB实现SQL Server 2000存储过程调用
利用OBJECT_DEFINITION函数来代码存档
DTS构建组件及其如何完成数据转换服务
编写SQL Server的扩展存储过程实例
SQL Server和Oracle并行处理方法对比
SQL Server数据转换服务基本概念介绍
如何由Sybase向SQL Server移植数据库
如何在SQL Server中由原子建立分子查询
SQL Server用触发器强制执行业务规则
SQL Server数据库导入MySQL数据库体验
SQL Server可写脚本和编程扩展SSIS包

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 119 ::
收藏到网摘: 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--清除临时表