今天看到一篇文章写的自己整理记录下,据说比用游标快。
declare @字段1 数据类型; declare @字段2 数据类型; declare @tmp_while_id int; select tmp_while_id=identity(int,1,1),tmp_while_flag=0, [字段1],[字段2],... into #tmp_while from [表名] where [条件]....; select @tmp_while_id=min(tmp_while_id) from #tmp_while where tmp_while_flag=0; while @tmp_while_id is not null begin --获取当前处理行的信息 select @字段1=字段1,@字段2=字段2,... from #tmp_while where tmp_while_id=@tmp_while_id; --<这里自己的处理过程> --标识当前行已处理完毕 update #tmp_while set tmp_while_flag=1 where tmp_while_id=@tmp_while_id; --选择下一行号 select @tmp_while_id=min(tmp_while_id) from #tmp_while where tmp_while_flag=0 and tmp_while_id>@tmp_while_id; end drop table #tmp_while;
需要了解更多数据库技术:MSSQL一种取代游标的方案,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/dtteaching/624243.html