Récupérer l’id du dernier élément inséré, dans une seule requête avec sql server

M
1 min readNov 8, 2018

--

SQL Server propose un mot clé très utile: OUTPUT

Il permet de récupérer un id dans une requête d’insertion et de l’insérer dans une autre table, tout cela dans la même requête.

Exemple avec la bd AdventureWorks2012 :

USE AdventureWorks2012;

GO

DECLARE @MyTableVar table( NewScrapReasonID smallint, Name varchar(50), ModifiedDate datetime);

INSERT Production.ScrapReason

OUTPUT INSERTED.ScrapReasonID, INSERTED.Name, INSERTED.ModifiedDate INTO @MyTableVar VALUES (N’Operator error’, GETDATE());

SELECT NewScrapReasonID, Name, ModifiedDate FROM @MyTableVar; — Display the result set of the table. SELECT ScrapReasonID, Name, ModifiedDate FROM Production.ScrapReason; GO

Plus d’informations ici : https://docs.microsoft.com/en-us/sql/t-sql/queries/output-clause-transact-sql?view=sql-server-2017

--

--