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

Bases de données Delphi Discussion :

Requête récursive


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Points : 18
    Points
    18
    Par défaut Requête récursive
    Bonjour,

    Je dois créer une requête récursive sur une table de nomenclature afin de récupérer toute la gamme d'article qu'un article de tête possède. J'ai déjà lu la méthode de gestion d'arbre intervallaire de M. Brouard mais cela ne m'aide en rien.

    Pourriez-vous svp m'aider dans la requête ? Je peine à dynamiser la requête pour qu'elle ne s'arrête pas au 4ème niveau...

    Exemple : Pour un article X je sais que le premier composant est l'article Y. Ensuite je dois reparcourir la table avec comme paramètre le numéro de composant retrouvé plus haut et ainsi de suite retrouver le numéro de composant plus bas jusqu'à ce qu'il n'en existe plus.

    Merci d'avance de votre aide

    Christophe

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 142
    Points : 120
    Points
    120
    Par défaut
    Salut,

    Sur le principe :
    tu as par exemple

    vélo (niv3) --> cadre --> roue etc... (niv2)
    roue (niv2) --> rayon, pneu etc... (niv 1)
    pneu (niv 1) ---> chambre à air, valve etc... (niv 4)

    Tu dois gérer une table de type :

    Table1 = Composant, composé, niveau

    Tu auras donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Composant     composé    niveau
    vélo                 cadre         3
    vélo                 roue          3
    roue                 rayon        2
    roue                 pneu         2
    etc...
    Pour récupérer tes composants :
    1- Lecture composant
    2- For index := 1 to Niv_récupéré
    Lire composant avec composé_récupéré

    Je ne sais pas si j'ai été clair ...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    Merci mais tu as toujours le problème du peuplement de la table.
    Je cherchais en fait à trouver la bonne suite de boucle disponible... Je m'en fous des performances désastreuses que cela engendrera, il faut juste que cela fonctionne avant mercredi !

    Merci

    Christophe

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 142
    Points : 120
    Points
    120
    Par défaut
    tu as toujours le problème du peuplement de la table
    Pourquoi ?

    J'ai été un peu vite :

    Tu as la table T1=Composant, Composé comme dit précedemment. En fait, en étant puriste, elle contient les clés de tes composants, composés.

    Tu dois avoir une table T2 de la forme : T2(clé, composant) ds laquelle tu as tout ce qui compose un vélo (excuse-moi pour cet exemple...)

    Lorsque tu construis tes "compositions", tu vas rechercher tes composants dans T2. Tu connais aussi le nombre de niveau de chacune de tes "compositions" : c'est le nombre de composés d'1 composant. Tu es donc capable de construire T1 et donc ensuite de l'interroger.

    Ca devrait marcher

    Bon courage.

    P.S si tu as un bouquin de modélisation (MERISE, par ex.) tu retrouveras ce cas (à adapter + ou - )

Discussions similaires

  1. Requête récursive dans access
    Par Australia dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 29/07/2014, 15h15
  2. [Tableaux] Requête récursive ?
    Par Adrien93 dans le forum Langage
    Réponses: 4
    Dernier message: 29/09/2006, 14h02
  3. Réponses: 4
    Dernier message: 04/05/2006, 19h01
  4. [SQL Server]Problème avec une requête récursive
    Par evans dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/04/2006, 20h16
  5. [SQL Server] Requête récursive
    Par margagn dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/04/2006, 04h31

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