我有一个 While 循环,我试图插入。
DECLARE @CurrentOffer int =121
DECLARE @OldestOffer int = 115
DECLARE @MinClubcardID bigint=0
DECLARE @MaxClubcardID bigint=1000
WHILE 1 = 1
BEGIN
INSERT INTO Temp WITH (TABLOCK)
SELECT top (100) clubcard from TempClub with (nolock) where ID between
@MinClubcardand and @MaxClubcard
declare @sql varchar (8000)
while @OldestOffer <= @CurrentOffer
begin
print @CurrentOffer
print @OldestOffer
set @sql = 'delete from Temp where Clubcard
in (select Clubcard from ClubTransaction_'+convert(varchar,@CurrentOffer)+' with (nolock))'
print (@sql)
exec (@sql)
SET @CurrentOffer = @CurrentOffer-1
IF @OldestOffer = @CurrentOffer
begin
-- my logic
end
end
end
我的 TempClub 表始终仅检查前 100 条记录。我的 TempClub 表有 3000 条记录。
我需要使用 ClubTransaction_121、ClubTransaction_120、ClubTransaction_119 表检查我的所有俱乐部卡的所有 3000 条记录。
The SELECT
第 8 行中的查询仅返回前 100 项
SELECT top (100) clubcard from TempClub ...
如果要检索所有项目,请删除top (100)
你的陈述的一部分
SELECT clubcard from TempClub ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)