AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Oracle + Firebird + Rekursion

Oracle + Firebird + Rekursion

Ein Thema von fatima · begonnen am 2. Feb 2005 · letzter Beitrag vom 4. Feb 2005
 
fatima

Registriert seit: 2. Feb 2005
Ort: Köln
3 Beiträge
 
#1

Oracle + Firebird + Rekursion

  Alt 2. Feb 2005, 15:20
Hallo Leute,
durch Zufall bin ich auf dieses Forum gestoßen und muss sagen es gefällt mir außerordentlich gut!

Ich habe auch gleich ein Problem: Es geht um Rekursion in einer SP bei Firebird.

Sagen wir wir haben folgende einfache Tabelle mit folgendem Inhalt:
Code:
CREATE TABLE EMPLOYEE
(
  EMP_ID   NUMBER,
  CHEF_ID  NUMBER,
  EMP_NAME VARCHAR2(40 BYTE)
)
CREATE UNIQUE INDEX UQ_EMP_ID ON EMPLOYEE
(EMP_ID)


INSERT INTO EMPLOYEE (EMP_ID, CHEF_ID, EMP_NAME) VALUES (20, NULL, 'Grosser Chef');
INSERT INTO EMPLOYEE (EMP_ID, CHEF_ID, EMP_NAME) VALUES (10, 20, 'Abteilungsleiter Entwicklung');
INSERT INTO EMPLOYEE (EMP_ID, CHEF_ID, EMP_NAME) VALUES (5, 20, 'Abteilungsleiter Verkauf');
INSERT INTO EMPLOYEE (EMP_ID, CHEF_ID, EMP_NAME) VALUES (12, 10, 'Projektleiter');
INSERT INTO EMPLOYEE (EMP_ID, CHEF_ID, EMP_NAME) VALUES (1, 12, 'Programmierer');
INSERT INTO EMPLOYEE (EMP_ID, CHEF_ID, EMP_NAME) VALUES (2, 5, 'Sachbearbeiter A ');
INSERT INTO EMPLOYEE (EMP_ID, CHEF_ID, EMP_NAME) VALUES (3, 5, 'Sachbearbeiter B');
INSERT INTO EMPLOYEE (EMP_ID, CHEF_ID, EMP_NAME) VALUES (18, 5, 'Azubi Verkauf');
Um eine strukturierte Uebersicht zu erhalten kann ich in Oracle einfach folgendes SQl absetzen:
Code:
SELECT E.CHEF_ID, E.EMP_ID , E.EMP_NAME , LEVEL
  FROM EMPLOYEE E
  START WITH E.CHEF_ID IS NULL
  CONNECT BY PRIOR E.EMP_ID = E.CHEF_ID
Mit Ergebnis in Preorder des Baumes:
Code:
CHEF_ID   EMP_ID   EMP_NAME                             LEVEL

NULL   20   Grosser Chef                     1
20   10   Abteilungsleiter Entwicklung   2
10   12   Projektleiter                     3
12   1   Programmierer                     4
20   5   Abteilungsleiter Verkauf             2
5   2   Sachbearbeiter A                      3
5   3   Sachbearbeiter B                     3
5   18   Azubi Verkauf                     3
Mit Firebird muss ich mir da sicher eine rekursive SP bauen, aber ich versuche nun schon seit Std ohne Erfolg, vlt kann mir jemand dabei helfen.

liebe Grüße
fatima
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz