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

8 réponses

  1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Pour SQL Server, c'est @@IDENTITY

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

    2
  2. Bruno
     
    j'ai le meme probleme que toi aurais tu trouve une solution
    merci par avance ...
    0
  3. 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sly60
     
    et sous une base de donnée access ? avez vous une solution ?
    0
  7. /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
  8. 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
    1. 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
  9. 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