好吧,我有以下命令获取我的一些数据与一些订单号。问题是,当数据集不止一个时,订单值保持相同而不是自动递增。如何在SQL存储过程中有一个循环
例如:
如果我取数据逐个在表中的订单值增量按照下面的逻辑,但是如果在一次时间为多于一个的数据中取出的顺序保持相同即它会自动递增所有获取相同值的行。也许某种循环,我可以在这里获取数据并逐一更新。帮助我在存储过程中实现循环/数组条件。我的命令如下:
declare @MaxOrder1 int=0
select @MaxOrder1 = max([order]) from [dbo].[XYZ_ABC_Table1] where [Id][email protected]
if (@MaxOrder1 is null)
begin
set @MaxOrder1 =0
end
set @MaxOrder1 = @MaxOrder1+1
UPDATE STPC SET STPC.[IsIncluded]= PT.[Value] FROM [dbo].[XYZ_ABC_Table1] STPC join @Table2 PT on (PT.Id = STPC.Id)
UPDATE STPC SET STPC.[Order]= case
when STPC.[IsIncluded] = 1 then @MaxOrder1
else ''
END
FROM [dbo].[XYZ_ABC_Table1] STPC join @Table2 PT on (PT.Id = STPC.Id)
我上面下面让超时错误代码 –
你需要更新多少行?需要您的样本数据和确切的SP。 –
样本数据大约在4-5行......并且SP与上面相同 –