équivalent des séquences d'Oracle ? [db2] - SQL/NoSQL - Programmation
Marsh Posté le 26-08-2003 à 15:56:02
Quel version de db2?
Si ta version est inférieur à la 7.2 c'est à la main et c'est vraiment la merdasse . Bon tu peux toujours faire des trucs comme ça:
Code :
|
cela marche bien a condition que id soit ta primary key ou qu'il y ait un index unique dessus.
Marsh Posté le 26-08-2003 à 15:58:31
Et si c'est une version supérieure à la 7.2, il y a une solution plus propre ?
Marsh Posté le 26-08-2003 à 16:00:47
Parce que sinon j'ai trouvé çà
Code :
|
mais je ne sais pas comment l'utiliser : faut-il faire un select compteurAuto avant l'insertion ou on fait une insertion directement (mais dans ce cas, avec quelle valeur ?) ?
Marsh Posté le 26-08-2003 à 16:09:05
non tu précises pas ta colonne lors de l'insertion un peu comme sous mysql. Mais utilises plutot By default que always.
Attention fait des tests parce que si tu fais des insertions à la main en précisant ton id, l'autoincrementeur(si ça existe comme mot) n'en tient pas compte...
Exemple:
Code :
|
(exemple tiré de dbforums j'ai la flemme cet aprem )
Marsh Posté le 27-08-2003 à 08:09:15
ok ça marche sur ma version Db2.
Mais je m'interroge : comment je fais pour récupérer la valeur du numéro que je viens de générer ? (dans le cas où il y a des insertions quasi simultanées)
Marsh Posté le 26-08-2003 à 15:33:38
Salut,
à priori, il n'existe pas d'équivalent pour DB2 des séquences d'Oracle ou Postgresql.
Me-trompe-je ?
Dans ce cas, comment faites-vous pour gérer une incrémentation automatique sur une clef par exemple ?
Merci de votre aide.
Nestor.