Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

AW: DB Baumstruktur nächste Fundstelle

  Alt 12. Jan 2011, 11:04
Wenn Du von "klassischem Parent-Child Baum" schreibst, dann meinst Du eine Struktur der Form K (id, parent_id, index, ...)? Die auf diesen Strukturen operierenden Funktionen sind sehr aufwändig. Vielleicht möchtest Du für deine Tabelle das Konzept "Nested Sets" ins Auge fassen. Die Struktur ist dann N (id, left_, right_, ...) und die von Dir gesuchte Funktion, wie auch viele andere Funktionen auf dieser Struktur, ist dann sehr einfach:

Code:
CREATE PROCEDURE successor (
    id Bigint )
RETURNS (
    nextid BIGINT )
AS
BEGIN
  SELECT FIRST 1 id
  FROM n
  WHERE left_ > (SELECT left_ FROM n WHERE id = :id)
  ORDER BY left_
  INTO :nextid;
END
Grüße vom marabu
  Mit Zitat antworten Zitat