Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

question : comment récupérer id après un insert

3 réponses
Avatar
Koal
Bonjour, je voudrais savoir quelle fonction utiliser pour récupérer un
id au moment où on fait un Insert dans l'analyseur de requête . En fait je
m'explique, je dois créer deux insert dans deux tables séparées et dans le
deuxième insert je dois récupérer l'id générée automatiquement dans la
première table.
Ex :
Intert into client(nom, prenom) values ('toto', 'titi')
Insert into action(idclient, id_article) values(<valeur id_client>, '2')

Je ne sais pas ce qu'il faut mettre à la place de <valeur id_client>
Merci de votre aide

Ps: Pour infos je suis sous sql2000
--
Koal

3 réponses

Avatar
Med Bouchenafa
Insert into action(idclient, id_article) values(SCOPE_IDENTITY(), '2')
ou
Insert into action(idclient, id_article) values(IDENT_CURRENT('client'),
'2')


--
Bien cordialement
Med Bouchenafa

"Koal" a écrit dans le message de news:

Bonjour, je voudrais savoir quelle fonction utiliser pour récupérer un
id au moment où on fait un Insert dans l'analyseur de requête . En fait je
m'explique, je dois créer deux insert dans deux tables séparées et dans le
deuxième insert je dois récupérer l'id générée automatiquement dans la
première table.
Ex :
Intert into client(nom, prenom) values ('toto', 'titi')
Insert into action(idclient, id_article) values(<valeur id_client>, '2')

Je ne sais pas ce qu'il faut mettre à la place de <valeur id_client>
Merci de votre aide

Ps: Pour infos je suis sous sql2000
--
Koal


Avatar
Koal
Je viens de tester ça marche, merci infiniment !
--
Koal


"Med Bouchenafa" a écrit :

Insert into action(idclient, id_article) values(SCOPE_IDENTITY(), '2')
ou
Insert into action(idclient, id_article) values(IDENT_CURRENT('client'),
'2')


--
Bien cordialement
Med Bouchenafa

"Koal" a écrit dans le message de news:

> Bonjour, je voudrais savoir quelle fonction utiliser pour récupérer un
> id au moment où on fait un Insert dans l'analyseur de requête . En fait je
> m'explique, je dois créer deux insert dans deux tables séparées et dans le
> deuxième insert je dois récupérer l'id générée automatiquement dans la
> première table.
> Ex :
> Intert into client(nom, prenom) values ('toto', 'titi')
> Insert into action(idclient, id_article) values(<valeur id_client>, '2')
>
> Je ne sais pas ce qu'il faut mettre à la place de <valeur id_client>
> Merci de votre aide
>
> Ps: Pour infos je suis sous sql2000
> --
> Koal





Avatar
GNocent
Il est préférable d'utiliser @@IDENTITY me semble-t-il !!!

Son inconvénient : renvoit l'id que ta dernière instruction vient de créer
(dans ta session), donc il faut faire attention à l'utiliser juste après
l'instruction et se méfier des triggers qui pourraient faire de l'insert
ailleurs.

Son avantage : si tu es sur un environnement concurrentiel, IDENT_CURRENT te
renvoit le dernier id d'une table, mais créé par quiconque (pas seulement ta
session). Donc tu peux avoir (pas de bol !) quelqu'un qui insert en même
temps que toi (en fait, juste après, mais avant ton 2ème insert) et tu
récupères son id au lieu du tien ...

Guillaume.

"Koal" a écrit :

Bonjour, je voudrais savoir quelle fonction utiliser pour récupérer un
id au moment où on fait un Insert dans l'analyseur de requête . En fait je
m'explique, je dois créer deux insert dans deux tables séparées et dans le
deuxième insert je dois récupérer l'id générée automatiquement dans la
première table.
Ex :
Intert into client(nom, prenom) values ('toto', 'titi')
Insert into action(idclient, id_article) values(<valeur id_client>, '2')

Je ne sais pas ce qu'il faut mettre à la place de <valeur id_client>
Merci de votre aide

Ps: Pour infos je suis sous sql2000
--
Koal