Séquence ORACLE sans trous

belmed2006 Messages postés 1 Statut Membre -  
 EBD -
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????
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. popup42
     
    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
  2. hippo
     
    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
    1. EBD
       
      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