Récupérer l'identifiant auto à l'insertion sous sq

Fermé
raoul - 17 avril 2001 à 13:30
 JeanMouloude - 22 avril 2010 à 16:30
Je cherche à récupérer l'ID automatique (identity) sous sql server lors de l'insertion d'un record par un recordset. Je ve récupérer l'ID généré automatiquement. Je travaille dans des scripts ASP.

Merci de m'aider
A voir également:

8 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
6 sept. 2001 à 18:34
Pour SQL Server, c'est @@IDENTITY

Exemple:
INSERT INTO matable (nom, prenom) VALUES ('dupont','jean')
print @@IDENTITY

2
j'ai le meme probleme que toi aurais tu trouve une solution
merci par avance ...
0
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
6 sept. 2001 à 16:26
Je ne sais pas s'il y a une autre solution, mais c'est lourd !

Sous MySQL tu fais appel à "mysql_insert_id()"... plus simple.

-= Bobinours =-
0
Tittom Messages postés 422 Date d'inscription mardi 30 mai 2000 Statut Membre Dernière intervention 10 janvier 2007 128
6 sept. 2001 à 17:35
Attention ! La méthode SELECT MAX(ID) est risquée dans le cas où plusieurs utilisateurs saisissent des données simultanément.

Si le but est de mettre à jour des zones avec cette valeur, peut-être qu'un trigger peut faire l'affaire ? Je ne connais pas sql server mais cela doit être possible...

Tittom
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
et sous une base de donnée access ? avez vous une solution ?
0
manu... comment a tu fait pour devenir profesionel ? Je trouve ça horrible de voir le nombre de personne incompetante dans ma profession :|... @+
0
hadjila20 Messages postés 52 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 5 novembre 2012 10
21 juil. 2009 à 01:35
bonsoir tout le monde ,mon problème à moi consiste à récuperer un identifiant mais pas forcement le dernier ou le premier.y aurai t'il un moyen de réaliser celà si c'est pas le cas ,j'aimerai au moins connaitre celui du dernier
.merci pour votre attention
0
JeanMouloude
22 avril 2010 à 16:30
Tout depend de ta base de donné mais en general l'identifiant permet de selection et pas l'inverse.

cepandant si tu pense que les autres attributs cumulé peuvent etre assez caracteritiques tente une requetes du type :

select ID
from TABLE
where attr1 = 'valeur1'
and attr2 ='valeur2'
...

bie sur si tu as des doublons dans ta base tu es cuit...
0
je suis dévelopeur professionnel, et nous utilisons dans notre société la technique suivante.

juste après ton insertion, tu refais une requête SQL
en demandant le champ ID max et il te donnera le dernier inséré :)

select max(ID) From tatable
-1