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.