Atmaweapon
Messages postés50Date d'inscriptiondimanche 28 décembre 2003StatutMembreDernière intervention11 avril 2006
-
16 mai 2005 à 15:06
dibouched
Messages postés219Date d'inscriptionsamedi 21 août 2004StatutMembreDernière intervention17 juillet 2007
-
16 mai 2005 à 16:05
Bonjour à tous !
ma question est "classique" (mais je n'ai pas réussi a la "trouver"
dans les question du forum et codes sources avec le moteur de
recherche.... donc je pose ma question) : comment récupérer
"proprement" une clef auto incrémentée après une insertion dans ma bdd.
Quand je dis "proprement", cela veut dire "sans risque de conflit" (j'ai de la conccurrence sur ma bdd).
J'aimerais -si possible- une(des) proposition(s) exploitables aussi bien sous SQLServer que sous MySQL ....
C'est possible de faire ca en Java... je suppose que ca doit l'etre en (visual) c#
cs_Crazyht
Messages postés1522Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention21 août 20108 16 mai 2005 à 15:19
La solution la plus simple (pour SQLServ) est de renvoyer dans un
parametre (OUTPUT) de la storeproc d'insertion la valeur de
Scope_identity ou @@Identity. Je suppose que le meme genre de fonction
est proposée en MySQL.
Atmaweapon
Messages postés50Date d'inscriptiondimanche 28 décembre 2003StatutMembreDernière intervention11 avril 20061 16 mai 2005 à 15:26
mm... deja, le mot "DECLARE" n'existe pas en mysql .... donc je ne
pense pas qu'une méthode "générique" (si elle existe...) puisse se
faire de cette maniere... v_v
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 16 mai 2005 à 15:56
En aucun cas ne faire de SELECT Max() pour ce genre de problème Dibou !
imagine 2 insertions par 2 utilisateurs simultanément, ton SELECT Max()
a la suite peut te donner (et te donenra) un mauvais resultat.