Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Zurückgeben eines Werts aus einer INSERT-Anweisung in SQL Server 2008

Ja - Sie können die wenig bekannte und wenig genutzte OUTPUT-Klausel verwenden in Ihrer INSERT-Anweisung

INSERT INTO dbo.YourTable(col1, col2, col3, ...., ColN)
OUTPUT Inserted.Col1, Inserted.Col5, Inserted.ColN
VALUES(val1, val2, val3, ....., valN)

Dies gibt einen normalen Datensatz zurück, mit dem Sie nach Bedarf umgehen können.

Wie die MSDN-Dokumentation zeigt, können Sie die OUTPUT-Werte auch z. eine Tabellenvariable oder temporäre Tabelle für die spätere Verwendung, falls erforderlich.

Um Ihre aktualisierte Frage zu beantworten, verwenden Sie Folgendes:

INSERT INTO dbo.EMPDETAILS(EmpName)
OUTPUT Inserted.EmpID
VALUES("John")