belmed20061Messages postés11 mai 2008Date d'inscription - Dernière réponse le 18 avril 2011 à 22:49
Bonjour,j'ai crée une séquence ORACLE de pas 1 pour identifier les admissions d'hospitalisations(plusieurs ordinateur=plusieurs connexion simultanés) et je veux que la séquence donne des numéros continus sans trous en réspectant l'order mais le probléme que il'y a des numéros sautés comment faire pour éviter le saut????
Moi aussi j'ai le ce problème de gestion des séquences en Oracle. Quelqu'un peut il m'aider à gérer mes
séquences de manière à ne plus avoir des numeros sautés?
Merci d'avance
C'est peut être normal, car la lecture de NextVal incrémente la valeur définitivement, même en cas d'échec sur la requête de mise à jour qui l'utilise:
1) lecture de MASEQUENCE.NEXTVAL (ex : 100)
2) Requête de mise à jour (insert, update de MA_TABLE) utilisant le numéro (100) échoue
2nde tentative
3) lecture de MASEQUENCE.NEXTVAL (ex : 101)
4) Requête de mise à jour (insert, update de MA_TABLE) utilisant le numéro (101) réussie
... MA_TABLE ne contient aucune ligne pour le numéro 100
Bonjour.
Verifier si une valeur est positionnée dans le parametre CACHE de la sequence. Il y a de grandes chances que les trous correspondent au nombre du cache qui semblent etre perdues chaque fois que l'on ferme la session.
Si cela correspond, faire un " ALTER nomsequence NOCACHE"
Ce document intitulé « séquence ORACLE sans trous » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Combien cela coûte-t-il au total ? Quelles aides apportent l'état et les acteurs du marché pour alléger cette charge non choisie ? Tous les détails sur Commentçamarche.net.
1) lecture de MASEQUENCE.NEXTVAL (ex : 100)
2) Requête de mise à jour (insert, update de MA_TABLE) utilisant le numéro (100) échoue
2nde tentative
3) lecture de MASEQUENCE.NEXTVAL (ex : 101)
4) Requête de mise à jour (insert, update de MA_TABLE) utilisant le numéro (101) réussie
... MA_TABLE ne contient aucune ligne pour le numéro 100