
正文
sqlserver遍历父,sql 遍历
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
sqlserver 存储过程中循环遍历结果集
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
相关问答
Q1: SQLserver 树类型,遍历问题,谢谢
Create Table Tb
(
Pid Varchar(50),
CEID Varchar(50),
Level int,
Ccode Varchar(50),
pCode Varchar(50)
)
Insert Into TB Values('','1',0,'产品1','')
Insert Into TB Values('1','2',1,'Test1','产品1')
Insert Into TB Values('1','3',1,'Test2','产品1')
Insert Into TB Values('2','4',2,'Test11','Test1')
Insert Into TB Values('2','5',2,'Test12','Test1')
Insert Into TB Values('3','6',2,'Test21','Test2')
Insert Into TB Values('3','7',2,'Test22','Test2')
Insert Into TB Values('6','8',3,'Test211','Test21')
Insert Into TB Values('6','9',3,'Test212','Test21')
Insert Into TB Values('6','10',3,'Test213','Test21')
With T
As
(
Select Pid,CEID,Ccode,Level,Convert(Varchar(4000),CEID) As Path From TB Where Pid=''
Union All
Select TB.Pid,TB.CEID,TB.Ccode,TB.Level,Convert(Varchar(4000),T.Path+'-'+TB.CEID) From TB inner join T On TB.Pid=T.CEID
)
Select replicate(' ',level)+Ccode As Ccode From T
Order By Path
Q2: sql server 某数据库所有表中数据的遍历
--T_Sql查询
select a.Name as tableName from sysobjects a inner join syscolumns b on a.ID=b.ID
where b.Name='字段名'
给分!







