Recupéré l'id d'un INSERT [Résolu]

Bowen123 32 Messages postés vendredi 17 décembre 2004Date d'inscription 21 septembre 2011 Dernière intervention - 29 mars 2005 à 16:21 - Dernière réponse : palm56 8 Messages postés mercredi 26 février 2003Date d'inscription 20 juin 2007 Dernière intervention
- 26 mai 2005 à 15:39
Sous SQL Server,

Je souhaite récupéré mon id (clef primaire auto incrémenté) immédiatement apres un insert.

Y a til une solution autre que de refaire un select ?

merci
Afficher la suite 

2 réponses

Répondre au sujet
cs_fabrice69 1766 Messages postés jeudi 12 octobre 2000Date d'inscription 11 décembre 2013 Dernière intervention - 30 mars 2005 à 11:05
+3
Utile
Ca se fait juste après l'insert en récupérant la variable systeme qui renvoie le dernier ID entré dans la table, voila la copie de la MSDN la dessus :


[mk:@MSITStore:C:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Books\tsqlref.chm::/ts_ia-iz_82i1.htm IDENT_CURRENT].


Examples

This example inserts a row into a table with an identity column and uses @@IDENTITY to display the identity value used in the new row.

INSERT INTO jobs (job_desc,min_lvl,max_lvl)
VALUES ('Accountant',12,125)
SELECT @@IDENTITY AS 'Identity'


Romelard Fabrice (Alias F___)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_fabrice69
palm56 8 Messages postés mercredi 26 février 2003Date d'inscription 20 juin 2007 Dernière intervention - 26 mai 2005 à 15:39
0
Utile
Cependant cela peut être relativement dangereux dans le cas où la base de données est très exploitée.

Si beaucoup d'insertion sont faites dans la BDD (quelque soit la table d'ailleurs, car @@identity contient le dernier id auto créé dans la BDD et non dans une table), tu peux récupérer le mauvais ID.
Commenter la réponse de palm56

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.