Il existe plusieurs façons de sortir après l'insertion
Lorsque vous insérez des données dans une table, vous pouvez utiliser la clause OUTPUT pour renvoyer une copie des données qui ont été insérées dans la table. La clause clause OUTPUT prend deux formes de base : OUTPUT et OUTPUT INTO. Utilisez la forme OUTPUT si vous souhaitez renvoyer les données à l'application appelante. Utilisez la forme OUTPUT INTO si vous souhaitez renvoyer les données dans une table ou une variable de table.
DECLARE @MyTableVar TABLE (id INT,NAME NVARCHAR(50));
INSERT INTO tableName
(
NAME,....
)OUTPUT INSERTED.id,INSERTED.Name INTO @MyTableVar
VALUES
(
'test',...
)
IDENT_CURRENT : Il renvoie la dernière identité créée pour une table ou une vue particulière dans une session quelconque.
SELECT IDENT_CURRENT('tableName') AS [IDENT_CURRENT]
SCOPE_IDENTITÉ : Il renvoie la dernière identité d'une même session et d'une même portée. Une portée est une procédure stockée/un déclencheur, etc.
SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY];
@@IDENTITÉ : Elle renvoie la dernière identité de la même session.
SELECT @@IDENTITY AS [@@IDENTITY];
0 votes
J'ai trouvé une réponse utile ici : [preparedstatement-with-statement-return-generated-keys][1] [1] : stackoverflow.com/questions/4224228/
2 votes
Duplicata possible de La meilleure façon d'obtenir l'identité de la ligne insérée ?