Création
d'entreprise
Posez votre question Signaler

Séquence ORACLE sans trous

belmed2006 1Messages postés 11 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????
Lire la suite 

Séquence ORACLE sans trous »

3 réponses
Réponse
+0
moins plus
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
EBD - 18 avril 2011 à 22:49
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
Ajouter un commentaire
Réponse
+0
moins plus
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"
Ajouter un commentaire
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.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?