Sie können die neu eingefügte ID entweder so an die SSMS-Konsole ausgeben lassen:
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
Sie können dies auch von z.B. C#, wenn Sie die ID an Ihre aufrufende App zurückgeben müssen, führen Sie einfach die SQL-Abfrage mit .ExecuteScalar()
aus (anstelle von .ExecuteNonQuery()
), um die resultierende ID
zu lesen zurück.
Oder wenn Sie die neu eingefügte ID
erfassen müssen Innerhalb von T-SQL (z. B. für die spätere Weiterverarbeitung) müssen Sie eine Tabellenvariable erstellen:
DECLARE @OutputTbl TABLE (ID INT)
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
Auf diese Weise können Sie mehrere Werte in @OutputTbl
einfügen und diese weiterverarbeiten. Sie können auch eine "normale" temporäre Tabelle verwenden (#temp
) oder sogar eine "echte" persistente Tabelle als Ihr "Ausgabeziel" hier.