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

Devuelve el último ID insertado sin usar una segunda consulta

La mayoría de la gente hace esto de la siguiente manera:

INSERT dbo.Users(Username)
VALUES('my new name');

SELECT NewID = SCOPE_IDENTITY();

(O en lugar de una consulta, asignándola a una variable).

Así que no son realmente dos consultas contra la mesa ...

Sin embargo, también existe la siguiente manera:

INSERT dbo.Users(Username)
OUTPUT inserted.ID
VALUES('my new name');

Realmente no podrá recuperar esto con ExecuteNonQuery , sin embargo.