sql >> Base de Datos >  >> RDS >> Sqlserver

Devuelve la identidad de la última fila insertada del procedimiento almacenado

Diría que deberías usar SCOPE_IDENTITY() como @@identity devolverá la identidad de lo último insertado (que puede no ser su procedimiento almacenado si se ejecutan varias consultas simultáneamente).

También debe SELECCIONARLO, no DEVOLVERLO.

ExecuteScalar devolverá el valor de la primera columna de la primera fila de un conjunto de resultados.

Entonces...

SELECT SCOPE_IDENTITY();

es probablemente más lo que quieres.