我有一個While循環,我嘗試插入。查詢在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條記錄。
我的眼睛絆了這一點。在那裏你正在尋找一些複雜的... – 2012-04-14 10:57:54
我正在做批處理插入數據,所以我想提取前100名,然後重複這個過程,直到我完成所有記錄 – happysmile 2012-04-14 11:04:01
啊,我們的理解失敗。只是認爲你的英語水平有點高。 @Chris的答案是否可以接受,或者他沒有得到答案? – 2012-04-15 11:51:05