赛迪网 > IT技术 数据库 > 精彩更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

Transact-SQL不使用游标的两个循环方法

发布时间:2008.05.07 04:47     来源:赛迪网    作者:Patrick

【赛迪网-IT技术报道】TSQL不用游标就可以循环的两个方法:

方法一:

SELECT * INTO #t1 FROM dbo.HorseBase

DECLARE @id int

DECLARE @t2 table (id int)

WHILE (exists(SELECT HorseNumber FROM #t1))

BEGIN

SELECT TOP 1 @id=HorseNumber FROM #t1

INSERT INTO @t2 SELECT HorseNumber FROM #t1 WHERE HorseNumber=@id

DELETE FROM #t1 WHERE HorseNumber=@id

END

DROP Table #t1

方法二:

DECLARE @r int

DECLARE @number int;

DECLARE @t2 table ( [name] nvarchar(200))

SELECT ROW_NUMBER() OVER (ORDER BY [Name] ) AS number,[name] INTO #nn1 FROM dbo.tbl_Entity

SELECT @number=MAX(number) FROM #nn1

SET @r=1

WHILE (@r<=@number)

BEGIN

INSERT INTO @t2 SELECT [name] FROM #nn1 WHERE number=@r

SET @r=@r+1

END

DROP TABLE #nn1

注:ROW_NUMBER() 在分页存储过程中也是比较好用的。

(责任编辑:卢兆林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 在数据库中使用游标效果会更好 (04-20) · 通过rownum隐式游标实现与TOP相似的功能 (04-18)
· 教你快速掌握SQL语言中游标的使用技巧 (04-17) · 讲解关系型数据库中游标的优点及种类 (04-17)
· 在特定情况下使用游标改善语句执行效率 (04-17) · 实践证明在数据库中使用游标效果会更好 (04-17)
· For Loop读取游标和Open Close的区别 (04-14) · 用一个实例讲解如何正确使用数据库游标 (04-07)
· 怎样使用游标 (09-11) · 细化解析:怎样理解游标的可用性和属性 (09-09)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 网站建设市场重新洗牌 一卡通引领革命潮流
· 北京加快信息化建设 医保一卡通年底前启动
· ERP案例分析 SaaS带来冲击 IT服务商面临挑战
· 通方期货CRM解决方案 房地产行业CRM解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统