Sql Server 中如何循环遍历查询结果

在查询数据库时,有时我们需要遍历每条查询结果来进行某些操作,例如拆分查询结果的字符串就要通过循环来进行,以下给出了一种循环遍历的例子供大家参考。


假设表TblTest有两个字段:id, value, 而value的值在查到后需要拆分,如:'aa,bb,cc',就可利用以下循环来进行(拆分的例子可以参考另一篇文章:Sql Server中如何拆分字符串)。


/* tmp table that store the flag to indicate if this record is processed */
declare @TblTest_tmp table(
    id decimal(18,0),
    [flag] int
)

/* total count for the query result */
declare @totalcount int
declare @rownum int

select @totalcount = count(1) from TblTest

set @rownum = 1

while @rownum <= @totalcount
    begin
        declare @id decimal(18,0),
        @value varchar(2000)

        select top 1 @id=[id], @value=[value] from TblTest where flag=0
        
        /* do sth for @value, e.g. select * from split(@value, ',') */

        update @TblTest_tmp set flag = 1 where [id] = @id
        set @rownum = @rownum + 1
    end
        



  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值