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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage