SQL2005实现循环每一行做一定操作。

简介:
要对一个表的每一行做出比较复杂的操作,一般会想到用游标,今天想到使用SQL2005中的新函数ROW_NUMBER()和while循环来对每一行执行操作。示例代码如下:
None.gif select  Department_No  as  departmentNo,ROW_NUMBER()  OVER ( ORDER   BY  Department_No)  AS  rowNumber  into  #depTemp -- 建立临时表
None.gif
from  departments
None.gif
None.gif
declare   @max   int -- 获得最大的rowNumber
None.gif
select   @max = max (rownumber)
None.gif
from  #depTemp
None.gif
None.gif
declare   @rowNo   int
None.gif
set   @rowNo = 1
None.gif
while   @rowNo <= @max -- 对每一个rowNumber进行循环操作
None.gif
begin
None.gif
-- 这儿对每一行要进行的操作的代码
None.gif
set   @rowNo = @rowNo + 1
None.gif
end
None.gif
None.gif
drop   table  #depTemp -- 清除临时表
本文转自深蓝居博客园博客,原文链接:http://www.cnblogs.com/studyzy/archive/2007/04/09/705882.html ,如需转载请自行联系原作者
相关文章
|
3月前
|
SQL 缓存 数据处理
SQL执行方式
【7月更文挑战第22天】SQL执行方式
25 2
|
11月前
|
SQL Oracle 关系型数据库
SQL语句的执行
SQL语句的执行
|
SQL 存储 数据库
SQL语句中,如何使用含有if....else...判断语句
SQL语句中,如何使用含有if....else...判断语句
72 0
|
SQL 关系型数据库 MySQL
SQL语句优化方法
SQL语句优化方法
164 0
|
SQL 关系型数据库 MySQL
一条SQL更新语句的执行过程
一条SQL更新语句的执行过程
|
SQL 索引
说说对SQL语句优化有哪些方法?
说说对SQL语句优化有哪些方法?
106 0
|
SQL
SQL面试题:循环操作
HiveSQL面试题,找出一串数字中1的位置
411 0
|
SQL 存储 关系型数据库
一条SQL更新语句是如何执行的?
大家好前面我们大概了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的呢?
一条SQL更新语句是如何执行的?
|
SQL 存储 关系型数据库
SQL语句操作详解
SQL语句操作详解
199 0
下一篇
无影云桌面