Abfrage funktioniert in while-Schleife nicht einwandfrei
Ich habe eine While-Schleife, in die ich einfügen möchte.
<code> 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 </code>
Meine TempClub-Tabelle prüft immer nur mit den ersten 100 Datensätzen. Meine TempClub-Tabelle enthält 3000 Datensätze. Ich muss alle 3000 Datensätze mit meiner Clubkarte in der Tabelle ClubTransaction_121, ClubTransaction_120, ClubTransaction_119 überprüfen.