SQL Server中如何实现遍历表的记录
declare @temp table
(
[id] int IDENTITY(1,1),
[Name] varchar(10)
)
declare @tempId int,@tempName varchar(10)
insert into @temp values('a')
insert into @temp values('b')
insert into @temp values('c')
insert into @temp values('d')
insert into @temp values('e')
select * from @temp
WHILE EXISTS(select [id] from @temp)
begin
SET ROWCOUNT 1
select @tempId = [id],@tempName=[Name] from @temp
SET ROWCOUNT 0
delete from @temp where [id] = @tempId
print 'Name:----'+@tempName
end
附上另外一种sql 测试代码:
declare @temp table (
[id] int IDENTITY(1,1),
[Name] varchar(10) )
declare @tempId int,@tempName varchar(10) ,@tempcount int
insert into @temp values('a')
insert into @temp values('b')
insert into @temp values('c')
insert into @temp values('d')
insert into @temp values('e')
set @tempcount=(select COUNT(*) from @temp);
set @tempId=0;
while (@tempId<=@tempcount )
begin
set @tempName=(select name from @temp where id=@tempId);
print 'the id is :'+str(@tempId) +' the name is : '+@tempName;
set @tempId=@tempId+1;
end
测试结果如下:
the id is : 1 the name is : a
the id is : 2 the name is : b
the id is : 3 the name is : c
the id is : 4 the name is : d
the id is : 5 the name is : e