sql不使用游标遍历表数据
create table nametable( nameguid uniqueidentifier, name nvarchar(10) ) insert into nametable(nameguid,name) values(newid(),‘lide‘) insert into nametable(nameguid,name) values(newid(),‘lideqiang‘) insert into nametable(nameguid,name) values(newid(),‘liqiang‘) set rowcount 1 select * from nametable
set rowcount的作用是使 SQL Server在返回指定的行数之后停止处理查询。
输出结果:
实现表遍历:
declare @nameguid uniqueidentifier declare @name nvarchar(10) while exists (select * from nametable) begin set rowcount 1 select @nameguid = nameguid from nametable select @name = name from nametable where nameguid = @nameguid set rowcount 0 delete from nametable where nameguid = @nameguid print @name end
不过这样操作会删除表中的数据,可以在临时表中操作
select * into #nametable from nametable
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。