2022-12-08 09:11:29
本篇内容介绍了“SQL如何遍历数据行”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
代码如下:
--非游游标方式遍历记录时,记录需要有ID列
declare @i int --循环开始索引
declare @max int --循环结束索引
set @i=1 --从第1条记录开始
--总记录数量
select @max=COUNT(name) from sys.databases where name like 'WHQJ%'
--要遍历的记录插入到临时表
select database_id as id,name into #tmp from sys.databases where name like 'WHQJ%'
declare @str nvarchar(200)
begin
while @i<@max
begin
set @str = 'select top 1 name from #tmp where id not in(select top '+STR(@i)+' id from #tmp)'
print @str
print @i;
exec(@str) --执行查询
set @i=@i+1; --索引自增1
continue;
end
end
drop table #tmp
GO
--通过游标方式遍历没有ID列的数据行
declare @db_name nvarchar(50)
declare tmpCur cursor for select name from sys.databases where name like 'WHQJ%' --声明游戏语句
open tmpCur --打开游标
fetch next from tmpCur into @db_name --取1条记录
--遍历
while @@FETCH_STATUS=0
begin
print @db_name --打印取出的值
fetch next from tmpCur into @db_name --取下1条记录
end
close tmpCur --关闭游标
deallocate tmpCur --释放游标
GO
Copyright ©2018 陕西烽火云集信息科技有限公司 版权所有 陕ICP备18009853号-1 增值电信业务经营许可证B1-20180802
烽火云集用户注册协议 法律声明及隐私权政策 致烽火云集用户的一封
法务支持:陕西兰天律师事务所