Hallo Ich habe eine Tabelle, dessen NamenSQL Server Verwendung SCOPE_IDENTITY() zum Einsatz in mit ausgewähltem Befehl
PERSO_DATA(Id,refPerso,,Col1,Col2,Col3,Col4,Col5)
und ich habe
PERSO_DATA_QUEUE(Id,refPersoData,refVideo)
Zunächst werde ich Daten zu PERSO_DATA
einfügen dann I nimmt die ID der eingefügten Daten und fügt sie als refPersoData in eine andere Tabelle ein.
INSERT INTO PERSO_DATA(refPerso,Col1,Col2,Col3,Col4,Col5)
SELECT @refPerso,pa.Col1,pa.Col2,pa.Col3,pa.Col4,pa.Col5 FROM #PERSODATA pa
SET @refPersoData=SCOPE_IDENTITY()
Wenn ich schreibe, dass ich alle Daten einfügen, aber die ID für jeden Datensatz nicht nehmen
INSERT INTO PERSO_DATA_QUEUE(refVideoQueue,refPersoData)
SELECT @refVideoQueue,@refPersoData
so angezeigten Code nur hinzufügen one.But Ich möchte, wenn ich 10 Daten müssen Einfügen PERSO_DATA
Ich muss auch PERSO_DATA_QUEUE
Tabelle 10 Daten mit eingelegten Ids einfügen.
Wie kann ich das tun? Ich konnte keine Lösung finden. wie ROW_NUMBER() in der temporären Tabelle -
Vielen Dank im Voraus
Ich glaube, Sie für diese – GuidoG
einen Cursor benötigen, können Sie eine 'OUTPUT' Klausel der' INSERT' Anweisung verwenden, um mehrreihigen Einsätze zu behandeln. Die virtuelle eingefügte Tabelle enthält die zugewiesenen Identitätswerte, sodass Sie SCOPE_IDENTITY() nicht verwenden müssen. Siehe https://docs.microsoft.com/en-us/sql/t-sql/queries/output-clause-transact-sql –
Schreiben Sie 'Trigger einfügen' in die PERSO_DATA-Tabelle. –