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