sqlserver 存储过程中循环遍历结果集

sqlserver 存储过程中循环遍历结果集,第1张

sql1=select * from (select *, row_number() over(order by username ) as rowNumber from users where regfrom='&admin&') as t where t.rowNumber >0 and t.rowNumber <= 0 + 30 order by username

怎么会有27 条记录呢,除非你的表 一共就27条慧困记录茄碧滑吧。

游标或临时表颤腊

--游标

declare youbiao1 for 查询1

open youbiao1

fetch next from youbiao1 into 变量

while @@FETCH_STATUS = 0

begin

里面一次套用

end

--临时表

declare @ID int

set @ID = 1

while Exists(select * from 表)

begin

--处理

--

set @ID = @ID + 1

end

使用sqlserver递推查询,可以直接查询出来。

参歼巧亩考资料:http://www.cnblogs.com/xfrog/archive/2010/10/10/1847462.html

WITH lmenu(nav_id,nav_name,nav_parentid,level) as

(

SELECT nav_id,nav_name,nav_parentid,0 level FROM nav nav_parentid=0

UNION ALL

SELECT A.nav_id, A.nav_name,a.nav_parentid, b.level+1 FROM gs_nav A,lmenu b where a.nav_parentid= b.nav_id and nav_id = 10

)

SELECT * from lmenu

具体SQL语句还需要自己验证一下,上面的自己看着氏森乱写的。宽迹


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8150922.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存