Announcement

Collapse
No announcement yet.

rekursive Abfrage (dringend!!)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • rekursive Abfrage (dringend!!)

    Ich brauche alle Flüsse die direkt ins Meer fliessen. Zusätzlich für alle Flüsse die indirekt ins Meer fliessen(sprich in einen anderen Fluss fliessen, der dann ins Meer fliesst) die Ausgabe z.B :
    Fulda ->Werra -> Weser -> Nordsee

    Hier die Schemata:

    create table Meer
    (
    Name CHAR(25) NOT NULL,
    Tiefe DECIMAL(14,2),

    primary key (Name)
    );

    create table Fluss
    (
    Name CHAR(20) NOT NULL,
    Fluss CHAR(20),
    See CHAR(20),
    Meer CHAR(25),
    Laenge DECIMAL(14,2),
    LaengeU DECIMAL(14,2),
    BreiteU DECIMAL(14,2),
    LaengeM DECIMAL(14,2),
    BreiteM DECIMAL(14,2),

    primary key (Name)
    );
    wobei
    Name der Name des Flusses ist,
    Fluss der Fluss in den er evtl. fliesst,
    See der See in den er evtl. fliesst und
    Meer das Meer in das er evtl. fliesst.

  • #2
    Am besten schreibst du eine Stored Procedure die alle Flüsse bestimmt, die in einen See fließen (einstufig) und sich dann rekursiv aufruft um festzustellen, welche Flüsse in den aktuellen Fluß fließen.

    Stored Procs kann man recursiv aufrufen.

    Als Datenstrucktur würde ich empfehlen
    aKey, Name, Art [F;S;M], fliesstIn

    Wobei fliesst in einen aKey enthällt, in den es fließt.

    Viel Spaß damit.

    Damit ist das ganze dann eine Normale Stürcklisten Problematik (aus welchen Teilen besteht mein Fahrrad, wobei mein Vorderrad aus n Speichen usw.

    Comment


    • #3
      Hi Fireball,

      diese Abfrage müßte dir alle Flüsse liefern die ineinander und im Endeffekt in 'Irgendeinmeer' fliessen:<pre>
      select Name from Meer
      connect by prior Fluss=Name
      start with Meer='Irgendeinmeer'</pre>

      (evtl. mußt du prior Fluss=Name noch in prior Name=Fluss ändern)

      Gruß Fal
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment

      Working...
      X