Oracle 10g: Neue Möglichkeiten für hierarchische Abfragen

In Oracle 10g gibt es neue Features, um Hierarchien leichter abzufragen. Manchmal wird man sich vielleicht nur für die jeweils unterste Stufe jedes Zweigs interessieren: die „leaves“ oder Blätter. Mit der neuen Pseudospalte CONNECT_BY_ISLEAF lässt sich abfragen, ob die aktuelle Spalte ein solches Blatt, ein solcher Endpunkt ist. Sie enthält „1“, wenn die Spalte Endpunkt ist, und „0“, wenn sie zum Zweig gehört, also Mutter einer anderen Spalte ist.


Es gibt jetzt auch einen neuen Operator, CONNECT_BY_ROOT. Man setzt ihn vor einen Spaltennamen, um den Root-Knoten der aktuellen Hierarchie zurückzubekommen. Zum Beispiel kann man die oberste Stufe zusammen mit den Daten der Reihe anzeigen lassen.


Wenn eine Tabelle einen Zirkelschluss hat, also Einträge, die sich gegenseitig als Kind und Mutter referenzieren, gab Oracle vor der Version 10g einfach eine Fehlermeldung aus: „ORA-01436: CONNECT BY loop in user data“. Es gab bisher keine Möglichkeit, die Abfrage durchzuführen, wenn man nicht die fehlerhafte Zeile entfernte. In Oracle 10g aber kann man einfach „NOCYCLE“ angeben, um die Daten dennoch abzufragen. In Verbindung mit diesem neuen Schlüsselwort gibt es eine weitere Pseudospalte, CONNECT_BY_ISCYCLE, die „1“ beträgt, wenn die aktuelle Zeile eine Mutter referenziert und eine Schleife im Baum erzeugen würde.


Themenseiten: Big Data, Datenbank, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Oracle 10g: Neue Möglichkeiten für hierarchische Abfragen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *