Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Equivalent de la fonction mysql last_insertid() sur SQL Server

2 réponses
Avatar
Pat
Bonjour

Existe-t-il l'équivalent de la fonction last_insertid() dans SQL Server, c'est-à-dire un moyen de récupérer la valeur de la clé primaire (int avec contrainte identity) nouvellement créée lors d'un insert

En clair, j'insers un jeu de valeurs dans une table située sur une base extérieure (sur laquelle je n'ai pas la main) et je veux récupérer l'identity créé pour cet insert (appellons-le intUserID) pour l'insérer dans une autre table (située sur le serveur local, ce coup-ci), qui contiendra des valeurs complémentaires linkées à cet intUserID

Je débute sur SQL Server et la doc est un peu mal ficelée :-

2 réponses

Avatar
Nicolas LETULLIER
Bonjour,

Exemple détaillé :


DECLARE @NouvelId INT

INSERT INTO MaPremiereTable (Champ2, Champ3) VALUES ('Valeur2','Valeur3')
-- On n'insère bien sûr pas de valeur dans Champ1 qui est déclaré en
IDENTITY

SET @NouvelId = @@IDENTITY

INSERT INTO MaDeuxiemeTable (CleEtrangere) VALUES (@NouvelId)

Nicolas.


"Pat" a écrit dans le message de
news:
Bonjour,

Existe-t-il l'équivalent de la fonction last_insertid() dans SQL Server,


c'est-à-dire un moyen de récupérer la valeur de la clé primaire (int avec
contrainte identity) nouvellement créée lors d'un insert ?

En clair, j'insers un jeu de valeurs dans une table située sur une base


extérieure (sur laquelle je n'ai pas la main) et je veux récupérer
l'identity créé pour cet insert (appellons-le intUserID) pour l'insérer
dans une autre table (située sur le serveur local, ce coup-ci), qui
contiendra des valeurs complémentaires linkées à cet intUserID.

Je débute sur SQL Server et la doc est un peu mal ficelée :-(




Avatar
Pat
Super, Merci beaucoup, je vais tester ça.