如何遍历select中的一组记录?
举例来说,我有一些记录希望循环浏览,并对每条记录执行某些操作。这是我选择的原始版本:
select top 1000 * from dbo.table
where StatusID = 7
谢谢
5
您想对每条记录做什么?首选是在SQL查询中完成工作。除非您需要使用T-SQL,否则可能需要使用游标。
—
Gordon Linoff 2013年
我会使用游标。
—
FloChanz 2013年
那将非常慢-是否不可能重新编写存储的proc或将其中的某些逻辑移出以基于集合的方式工作?
—
桥接
@Funky该存储库做什么?通常,代码可以以基于集合的方式(即避免循环)来重写。如果您坚决要执行RBAR操作(simple-talk.com/sql/t-sql-programming/…),那么游标就是您要研究的对象。
—
gvee 2013年
也许您可以更详细地解释如何处理这些数据。在大多数情况下,您可以轻松编写一个SQL查询,该查询将完成一项操作即可完成您需要完成的工作,而无需遍历各个记录。
—
艾伦·巴伯