当前位置:   article > 正文

遍历查询结果集的另一种思路

安卓媒体库结果集能遍历吗

          在SQLServer中,有时需要数据库里实现SQL结果集遍历,当然首先会想到使用SQL游标,但SQL游标最大的缺点就是复杂和低效。

  • 创建表变量来保存临时结果集,用@@RowCount来控制循环结束标记。

Create procdure pro

As

Begin

       declare @cwbrecord table /*定义订单的表变量 用于遍历订单号*/

        (

         cwb  varchar(50),   

         flagID TINYINT/*这个表变量中增加一个FLAGID进行数据初始值为0的存放,然后去循环这个记录集,每循环一次,就把对应的FLAGID 的值改成1,然后再根据循环来查找满足条件等于0的情况,每循环一次,处理的记录集就会少一次,达到快速遍历,此种方式比游标 遍历效率高很多*/

        )

       declare  @totalcount int

       declare  @rownum int

insert  into @cwbrecord  select ops.cwb,0 from express_ops_cwb

/*设置循环总数*/

set  @totalcount = @@ROWCOUNT

 /*设置循环起始值*/

           set @rownum = 1

/*    循环*/

        while @rownum <=@totalcount

         begin

             declare @cwb varchar(50)

              select top 1 @cwb=cwb from @cwbrecord where flagID=0

              ……你要完成的逻辑

              update @cwbrecord set flagID=1 where cwb=@cwb

              set @rownum = @rownum + 1

         End

End

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/409846
推荐阅读
相关标签
  

闽ICP备14008679号