【发布时间】:2012-09-21 07:42:27
【问题描述】:
我有一个名为 @rows 的临时变量,在这样的存储过程中有近 10000 条记录
Create Procedure input
as
begin
declare @input_data table(......)
insert into (.....) from ....
@rows= select @@rowcount
while(@rows > o)
begin
--- I need to process each row like
select ... where @row=1 --like this repeatedly upto @rows = 10000
end
我应该如何实现这一点。请帮助我 提前致谢
【问题讨论】:
-
循环/游标很少是 SQL 操作中的最佳方法。它是一种基于集合的语言,并且通常还没有找到基于集合的解决方案。也许考虑提出一个新问题以寻求帮助以找到基于集合的解决方案,而不是寻求帮助来修复您的程序解决方案。它几乎肯定会在性能方面带来好处(我无法提供任何建议,因为我不知道您对每一行都做了什么)。