Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Restituisce l'ultimo ID inserito senza utilizzare una seconda query

La maggior parte delle persone lo fa nel modo seguente:

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

SELECT NewID = SCOPE_IDENTITY();

(O invece di una query, assegnandola a una variabile.)

Quindi non sono proprio due query contro il tavolo ...

Tuttavia c'è anche il seguente modo:

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

Non sarai davvero in grado di recuperarlo con ExecuteNonQuery , però.