Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Renvoie le dernier ID inséré sans utiliser une seconde requête

La plupart des gens le font de la manière suivante :

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

SELECT NewID = SCOPE_IDENTITY();

(Ou au lieu d'une requête, affectez-la à une variable.)

Il ne s'agit donc pas vraiment de deux requêtes contre la table ...

Cependant, il existe également la méthode suivante :

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

Vous ne pourrez pas vraiment le récupérer avec ExecuteNonQuery , cependant.