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

Signaler
Messages postés
32
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2011
-
Messages postés
8
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
20 juin 2007
-
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

2 réponses

Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
5
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___)
Messages postés
8
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
20 juin 2007
2
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.