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

SQL Oracle Discussion :

Compléter les ID manquant


Sujet :

SQL Oracle

  1. #1
    Membre habitué Avatar de Dark Ryus
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 333
    Points : 162
    Points
    162
    Par défaut Compléter les ID manquant
    bonjour,

    J'ai une table normal avec un champ ID. Certain id ne se suive pas, par exemple :
    1
    2
    3
    5
    8
    9

    J'aimerai un pti truc pour compléter cette liste lors d'une insertion, par exemple le prochain aura l'ID 4 au lieu de 10.

    Merci

  2. #2
    Membre confirmé Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Points : 603
    Points
    603
    Par défaut
    La premiere chose qui me vient a l'esprit est : pourquoi ? quel est le besoin de faire cela ?
    Un ID est generalement un identifiant unique, et on n'a que faire de la valeur, tant qu'elle est unique.
    De plus, si faire ce que tu veux peut eventuellement avoir un sens pour a rapport, c'est dangereux dans un environement multi-utilisateurs...

    Nicolas.

  3. #3
    Membre habitué Avatar de Dark Ryus
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 333
    Points : 162
    Points
    162
    Par défaut
    Je doit juste faire un script pour mettre à jour une table dans une base de données et je doit compléter les ID manquant, et c'est comme ça lol.
    Ya-t-il une solution svp?

  4. #4
    Membre confirmé Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Points : 603
    Points
    603
    Par défaut
    1. lock la table
    2. loop de 1 a max(id) pris de la table
    3. si l'occurence (dans la boucle) n'existe pas dans la table, fais l'insert
    4. commit et libere la table du lock

    Nicolas.

  5. #5
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select min(N.rang) 
    from  (
          Select rownum rang, M.id  
          from (
                Select Id from T1 order by id
               ) M
          ) N
    Where N.rang != N.id
    Signé : Capitaine Jean-Luc Picard

  6. #6
    Membre habitué Avatar de Dark Ryus
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 333
    Points : 162
    Points
    162
    Par défaut
    Ok, merci, j'avais pensé un peu à cette idée, mais je pensais qu'il existait un truc tout fait dans oracle un peu comme un nextval.

  7. #7
    Membre confirmé Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Points : 603
    Points
    603
    Par défaut
    Une sequence Oracle n'a jamais empeche des trous...

    nicolas.

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

Discussions similaires

  1. Lister les numeros manquant à une liste
    Par Andry dans le forum SQL
    Réponses: 3
    Dernier message: 16/08/2006, 08h14
  2. Générer les lignes manquantes
    Par prophete3d dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 11/07/2006, 16h49
  3. Installer les headers manquants au VC toolkit 2003
    Par Spartan03 dans le forum Visual C++
    Réponses: 17
    Dernier message: 07/07/2006, 19h27
  4. [INSTALL] où trouver les packages manquant ?
    Par cdu dans le forum Oracle
    Réponses: 4
    Dernier message: 01/04/2006, 12h03
  5. Réponses: 7
    Dernier message: 20/02/2006, 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