3
在sql server中使用游标的替代方法有哪些? 我已经知道了一个技巧,它涉及到使用Row_Number()函数对行进行编号,然后我可以逐个循环。任何其他想法?sql游标的替代品
在sql server中使用游标的替代方法有哪些? 我已经知道了一个技巧,它涉及到使用Row_Number()函数对行进行编号,然后我可以逐个循环。任何其他想法?sql游标的替代品
当我不想让事情与SQL游标复杂化时,我经常填充临时表或表变量,然后做一个while循环来完成它们。
例如:
declare @someresults table (
id int,
somevalue varchar(10)
)
insert into @someresults
select
id,
somevalue
from
whatevertable
declare @currentid int
declare @currentvalue varchar(10)
while exists(select 1 from @someresults)
begin
select top 1 @currentid = id, @currentvalue = somevalue from @someresults
--work with those values here
delete from @someresults where id = @currentid
end
有几个选项:
有很多选择。发布一些目前涉及游标的sql代码,我们将能够将它转换为基于集合的方法。 – NotMe 2010-11-23 22:59:14