Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Retorna a identidade da última linha inserida do procedimento armazenado


Eu diria que você deveria usar SCOPE_IDENTITY() como @@identity retornará a identidade da última coisa inserida (que pode não ser seu procedimento armazenado se várias consultas estiverem sendo executadas simultaneamente).

Você também precisa SELECIONAR, não DEVOLVER.

ExecuteScalar retornará o valor da primeira coluna da primeira linha de um conjunto de resultados.

Então...
SELECT SCOPE_IDENTITY();

é provavelmente mais o que você quer.