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

Langage SQL Discussion :

TABLE pointant sur elle-même, requete de selection recursive


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 32
    Points : 16
    Points
    16
    Par défaut TABLE pointant sur elle-même, requete de selection recursive
    Bonjour,

    j'ai une table STREAM_PROCESS avec les champs suivants :
    ID
    ID_SRC
    Name

    Cette table a pour but de stocker tous les systemes de traitement d'un flux. Chaque systeme traite un flux source identifié par ID_SRC et produit un autre flux (traité) identifié par ID.
    La table pointe donc sur elle même par ID_SRC.

    1er systeme : ID=1, ID_SRC=1 : production d'un flux 1
    2eme systeme : ID=2, ID_SRC=1 : traitement du flux 1 et production d'un flux 2
    3eme systeme : ID=3, ID_SRC=2 : traitement du flux 2 et production d'un flux 3

    Voila donc ma question :
    J'aimerai a partir de ID=3 savoir quelle est ma source originelle. J'aimerai le savoir en faisant une requete SQL sur la table STREAM_PROCESS.

    En programmation c facile, il suffit d'une fonction récursive :

    FindOrigin(int idBegin, out idOrigin)
    {
    record = PlacementSur(idBegin)
    si record.id != record.id_src alors
    Find(record.id_src, idOrigin)
    sinon
    idOrigin = record.id;
    fin
    }

    1 - Il y a t-il un moyen de faire traiter tout ca par le serveur directement avec une seule requete SQL ?

    2 - Et si je programme sur le serveur une procedure stockee comme la fonction FindOrigin(), est-ce que cela sera beaucoup plus performant que si je la fais a l'exterieur ?

    merci
    Mike

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    ORACLE : CONNECT BY
    NORME SQL : WITH RECURSIVE
    Sinon, représentation intervallaire (sur ce site)
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

Discussions similaires

  1. Comment faire un JOIN récursif d'une table sur elle-même?
    Par PierreCaron dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/04/2009, 03h28
  2. Relation d'une table sur elle-même ?
    Par TallyHo dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/10/2007, 00h14
  3. Probleme jointure d'une table sur elle même
    Par fred64 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 18/05/2006, 15h01
  4. Pb table liée sur elle même
    Par mastasushi dans le forum Access
    Réponses: 12
    Dernier message: 17/05/2006, 10h43
  5. [SQL2K] delete cascade d'une table sur elle même
    Par StormimOn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/04/2006, 16h28

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