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 --释放游标
GOCopyright ©2018 陕西烽火云集信息科技有限公司 版权所有 陕ICP备18009853号-1 增值电信业务经营许可证B1-20180802
烽火云集用户注册协议 法律声明及隐私权政策 致烽火云集用户的一封
法务支持:陕西兰天律师事务所