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 :

[PL/SQL] Vérification séquences


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 36
    Par défaut [PL/SQL] Vérification séquences
    Salut
    j'ai une table t1 avec pour clé primaire N_Sequence qui est numerique.
    Je voudrais vérifier l'enchainement des séquences c.a.d que si le 1er enregistrement est 1000, le suivant devra être 1001 puis 1002... si la procédure trouve par exemple 1004 après 1002, elle détecte que 1003 est manquant.
    Comment puis-je faire ?

    Merci infiniement

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Une séquence n'est pas modifiable. Elle délivre un nouveau numéro à chaque fois qu'elle est invoquée.

  3. #3
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 36
    Par défaut
    ce n'est pas une séquence oracle, c'est un champs que j'ai appelé N_sequence et mon application est un parseur automatique qui insère les données des messages ds la table, chaque message étant identifié par le champ "N_sequence". je voudrais donc vérifier qu'aucun message n'a été sauté.

  4. #4
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Par défaut
    Si tu veux trouver s'il y a des trous tu peux adapter la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    SQL> select * from TEST;
     
             X
    ----------
             1
             2
             3
             4
             8
             9
            14
            15
            16
            17
            18
            19
            20
     
    13 rows selected
     
    SQL> 
    SQL> select x, prec
      2  from   (
      3  select x, lag(x) over(order by x) prec
      4  from   TEST t
      5  )
      6  where prec <> x-1
      7  ;
     
             X       PREC
    ---------- ----------
             8          4
            14          9
     
    SQL>

    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  5. #5
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 36
    Par défaut
    Merci infiniement laly t'es trop fort !

  6. #6
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Par défaut
    Mais Sheik a raison, si tu utilises une séquence pour alimenter ta colonne c'est tout à fait possible et normal qu'il y ait des trous, ca fait partie du jeu.


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  7. #7
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Citation Envoyé par Jihed Amine Maaref
    Merci infiniement laly t'es trop fort !
    +1

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

Discussions similaires

  1. SQL Loader + séquence
    Par dams182 dans le forum SQL*Loader
    Réponses: 4
    Dernier message: 04/06/2008, 02h44
  2. SQL Server 2005 - ETL - Insertion données avec vérification.
    Par Mailgifson dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/12/2007, 12h22
  3. Réponses: 4
    Dernier message: 23/11/2005, 13h04
  4. [SQL & Des6i] Creation de séquence négative ?
    Par patmaba dans le forum Designer
    Réponses: 4
    Dernier message: 05/10/2005, 11h02
  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