IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

[sql] Décrémenter une sequence


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Par défaut [sql] Décrémenter une sequence
    salut a tout
    ma question est : j'ai une sequence
    est il possible de decrimenter la sequence apres avoir incrimenter
    voici ma sequence

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create sequence clt
    start with 1
    increment by 1
    nocache;
    je fais appel a cette sequence de la methode suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    selecte clt.nextvalue into a from dual ;
    mon problem c'est que parfois j'elimine l'enregistrement et la sequence est incrimentée comment faire pour decrimenter ma sequence
    merci d'avence pour votre aide

  2. #2
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    On ne peut pas.
    La seule solution est de dropper puis de re-créer la séquence mais cela est assez lourd, et impossible pendant l'exploitation, ...

    Le but de la séquence est d'être sûr d'avoir des n° uniques en environnement concurrentiel.
    Cela implique d'avoir effectivement des trous en cas d'annulation d'insertion par exemple.

    Mais est-ce réellement gênant d'avoir des trous ?
    (si votre besoin est par exemple de numéroter des factures, oui, là c'est gênant, mais cela signifie donc que vous devez trouver une autre technique).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Février 2004
    Messages : 118
    Par défaut
    Dans mon entreprise pour incrementer des numéros de factures, on utilise un champs qui se trouve dans une table paramètre que l'on incremente à chaque facture. Si un problème d'incrémentation se pose (ca arrive parfois). On a juste à modifier la valeur du champ des numéro de facture (en faisant extrement attention bien sur)

  4. #4
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    Citation Envoyé par gaultier
    Dans mon entreprise pour incrementer des numéros de factures, on utilise un champs qui se trouve dans une table paramètre que l'on incremente à chaque facture. Si un problème d'incrémentation se pose (ca arrive parfois). On a juste à modifier la valeur du champ des numéro de facture (en faisant extrement attention bien sur)
    Et que se passe-t-il quand 3 utilisateurs veulent créer simultanément une facture ?

  5. #5
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Citation Envoyé par LeoAnderson
    Et que se passe-t-il quand 3 utilisateurs veulent créer simultanément une facture ?
    J'ai la même problématique avec les numéros de pièces comptables qui doivent se suivre dans trou de numérotation. Un simple update lock la ligne concernée.

  6. #6
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    Donc dans le genre mono-utilisateur... (et ça obliger à faire un update AVANT de créer la pièce comptable)

    Mais je cherchais juste à soulever le problème.. ;-)

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Par défaut
    merci a tous

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Février 2004
    Messages : 118
    Par défaut
    Dans notre cas on fait un select for update of

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/12/2007, 13h41
  2. Réponses: 1
    Dernier message: 16/10/2006, 15h19
  3. [vb.net]creation d'une sequence sql
    Par new_wave dans le forum Windows Forms
    Réponses: 1
    Dernier message: 11/07/2006, 11h46
  4. [PL/SQL] Recuperer le nouveau numero d'une sequence
    Par Tofalu dans le forum Oracle
    Réponses: 3
    Dernier message: 23/02/2005, 11h47
  5. Réponses: 4
    Dernier message: 18/10/2004, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo