Ich habe eine Tabelle für Buchungen (table_b), die rund 1,3 Millionen Zeilen hat. Eine zweite Tabelle (table_s) wird verwendet, um festzustellen, wann auf diese Zeilen von einer separaten Anwendung zugegriffen werden muss.SQL Server Zeilen in zweite Tabelle kopieren
Derzeit gibt es Trigger, um einen Datensatz in Tabelle_S zu machen, aber dies hilft nicht bei allen vorhandenen Daten.
Ich glaube, ich brauche eine Abfrage, die die Zeilen auswählt, die in table_b vorhanden sind, aber nicht table_s und dann eine Zeile für jede Zeile einfügen.
Hier ist meine aktuelle Syntax aber nicht denke, es richtig
gebildet wurdeDECLARE @b_id [INT] = 0;
WHILE(1 = 1)
BEGIN
SELECT TOP 10
@b_id = MIN([b].[b_id])
FROM
[table_b] AS [b]
LEFT JOIN
[table_s] AS [s] ON [b].[b_id] = [s].[b_id]
WHERE
[s].[b_id] IS NULL;
IF @b_id IS NULL
BREAK;
INSERT INTO [table_s] ([b_id], [processed])
VALUES (@b_id, 0);
END;
Haben Sie in Betracht gezogen, eine einzigartige zusammengesetzte Tabelle zu erstellen, nur um Ihre Daten zu importieren, indem Sie ein "select in" mit entsprechenden Bedingungen verwenden? –