Séquence ORACLE sans trous

Fermé
belmed2006 Messages postés 1 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 12 mai 2008 - 12 mai 2008 à 15:31
 EBD - 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????

2 réponses

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"
1
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
0
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
0