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

Gibt die Identität der zuletzt eingefügten Zeile aus der gespeicherten Prozedur zurück

Ich würde sagen, Sie sollten SCOPE_IDENTITY() verwenden als @@identity gibt die Identität des zuletzt eingefügten Elements zurück (was möglicherweise nicht Ihre gespeicherte Prozedur ist, wenn mehrere Abfragen gleichzeitig ausgeführt werden).

Sie müssen es auch AUSWÄHLEN, nicht ZURÜCKGEBEN.

ExecuteScalar gibt den ersten Spaltenwert aus der ersten Zeile einer Ergebnismenge zurück.

Also...

SELECT SCOPE_IDENTITY();

ist wahrscheinlich eher das, was Sie wollen.