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

raoul -  
 JeanMouloude -
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 33415 Statut Modérateur 15 667
 
Pour SQL Server, c'est @@IDENTITY

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

2
Bruno
 
j'ai le meme probleme que toi aurais tu trouve une solution
merci par avance ...
0
Bobinours Messages postés 2903 Statut Membre 504
 
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 Statut Membre 128
 
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
sly60
 
et sous une base de donnée access ? avez vous une solution ?
0
/Dev/Null
 
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 53 Statut Membre 10
 
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
 
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
manu
 
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