Ich habe eine Tabelle VariableListe der eingefügten ID in SQL Server
@temp (tmpId, c1, c2, c3, d1, d2, d3)
ich Zeilen aus @temp in eine Tabelle eingefügt werden soll (MyTable) mit Identitätsspalte ID und ordnen Sie die isnerted IDs zu den Zeilen genannt in @temp. Ich weiß, dass die Liste der eingefügten IDs mit OUTPUT-Klausel abgerufen werden kann.
INSERT INTO MyTABLE (c1, c2, c3)
OUTPUT INSERTED.id, INSERTED.c1, ... INTO @IDs (id, c1, ...)
SELECT (c1, c2, c3)
dispite mit @IDs Tabelle I kann nicht die eingefügten IDs zu den tmpIds assigne weil die c1, c2, c3 Spalten nicht eindeutig sind. Ich brauche die Ids, um d1, d2, d3 Spalten in eine andere Tabelle einzufügen. Ich habe nur eine Lösung in meinem Kopf. Einfügen von Zeilen nacheinander und Abrufen der ID mit SCOPE_IDENTITY(). Aber ich möchte eine Schleife verwenden. Haben Sie eine Idee, wie Sie diese Zeilen in einem Schritt einfügen?
Haben Sie einen Primärschlüssel/eindeutige Einschränkung definiert auf 'c1, c2, c3' Spalten ein @temp? Haben Sie einen Tabellenwert verwendet, um diese Variable zu deklarieren? Haben Sie die folgende Syntax 'DECLARE @temp TABLE (...)' verwendet? –