CREATE TABLE #Tempcard
(
Clubcard BIGINT NULL,
DateTime DATETIME NULL
)
WHILE 1=1
BEGIN
WITH EventsTop1000
AS
(
SELECT top 200 Clubcard,DateTime
FROM Clubcard
WHERE(DATEDIFF(DAY ,Clubcard.DateTime ,getdate())>120))
DELETE EventsTop200
OUTPUT DELETED.*
INTO #Tempcard;
IF (@@ROWCOUNT = 0)
BREAK;
END
Hier mache ich eine Batch-Insertion. Sobald ich die Datensätze in die #Tempcard
Tabelle einfügen, möchte ich nicht die Daten aus der Tabelle Clubcard
löschen, aber ich muss den nächsten Satz von Daten aus dem Clubcard
holen und erneut die Daten in #Tempcard
einfügen.einfügen Problem mit Batch weise in SQL-Server
Wenn meine Datensätze 1020 sind, kann ich sehen, dass nur 1000 Datensätze eingefügt werden, der Rest 20 wird nicht eingefügt.
Bitte lassen Sie mich wissen, wie Sie das Problem lösen können.
können Sie mir den gesamten Code geben, wie Sie das lösen – happysmile
Ich habe nicht ganz verstanden, was Sie tun wollen und was das Problem ist. Möchten Sie eine Schleife, die 200 Datensätze gleichzeitig einfügt? Wenn ja, gibt es in der Clubcard ein ID-Feld? –
@happysmile Bitte lesen Sie den vorherigen Kommentar, ich habe vergessen, Sie zu markieren. –