我有一个从table1返回结果的存储过程,然后我将该结果用于另一个存储过程来更新table2。我想知道我是否可以将它合并到一个存储过程中,问题是它需要根据table1中的值运行table2上的foreach循环以查找要更新的所有值。不知道从哪里开始或者甚至可能。
答案 0 :(得分:0)
这是为每个项目运行某些内容的示例。但是对于更新你不应该需要这个,你应该能够用CROSS JOIN来解决这个问题,无论如何都是如下。
declare @i int;
set @i = 0;
declare @t table
(
int id identity,
varchar(max) col1,
varchar(max) col2
)
insert into @t(col1,col2)
select col1,
col2 from FROM [Table]
set i = 0;
declare @sum int
set @sum = 0;
while(i < select count(*) from @t)
begin
select case when (col1 == col2) then @sum = @sum+1 else @sum from @t
where id = i;
i++;
end