AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden
Thema durchsuchen
Ansicht
Themen-Optionen

Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden

Ein Thema von TheMiller · begonnen am 18. Aug 2010 · letzter Beitrag vom 23. Aug 2010
Antwort Antwort
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#1

AW: Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden

  Alt 18. Aug 2010, 13:30
Sorry habe ich überlesen.......
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#2

AW: Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden

  Alt 18. Aug 2010, 15:19
Hallo,

ja, ich nutze die Firebird-Embedded-Version (2.0). Was ist eine CTE?

Danke
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden

  Alt 18. Aug 2010, 15:29
CTE: Common Table Extension

Hier ein Beispiel einer rekursiven CTE

SQL-Code:
with recursive ordner as
    ( select * from <Tabelle> order by parent)
select
    *
from
    <Tabelle> t
       join ordner O on t.parent = O.id;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#4

AW: Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden

  Alt 18. Aug 2010, 15:35
Wow. Danke.

Davon habe ich noch nie etwas gehört. Bin leider nicht zu Hause, sodass ich es nicht testen kann. Aber über die Theorie/Praxis habe ich mir schon gedanken gemacht. Was ist perfomanter und "unbeschränkter"?

Gibt es ein Rekursionslimit bei der CTE? Wäre es nicht schneller, wenn ich die IDs der Kinder in eine unnormalisierte Spalte schreibe?

Das sind meine Fragen dazu, die mir gerade gekommen sind.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden

  Alt 18. Aug 2010, 15:40
Man kann die Rekursionstiefe angeben

http://www.ibphoenix.fr/IMG/pdf/Fire....1.2007.en.pdf
http://bbs.prog365.com/firebird-sql-...-2769-1-1.html
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#6

AW: Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden

  Alt 18. Aug 2010, 15:48
Vielen Dank für die Links. Ich werde mir das in aller Ruhe heute Abend anschauen.

Auch dir nochmal danke für die Antwort, borwin. Der rote Kasten erschien bei mir nicht

Geändert von TheMiller (18. Aug 2010 um 15:52 Uhr)
  Mit Zitat antworten Zitat
borwin

Registriert seit: 14. Sep 2006
Ort: Rostock
72 Beiträge
 
Delphi 2007 Enterprise
 
#7

AW: Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden

  Alt 18. Aug 2010, 15:47
Zitat:
Gibt es ein Rekursionslimit bei der CTE?
Bei dem Vorschlag von mkinzler ist es mir nicht bekannt? Denke aber eine Verschachtelungstiefe von über 30 wird eh unübersichtlich.

Zitat:
wenn ich die IDs der Kinder in eine unnormalisierte Spalte schreibe?
Wenn Du einen Knoten mal verschiebst hast Du richtig was zu tun um die Änderungen nachzuziehen (Jedes Kind bekommt ein neues Elternteil). Das kostet Zeit und ist ja auch nicht Notwendig, wenn es die Datenbank jederzeit live liefert.

Schau Dir mal die CTE an.

Gruß Borwin
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#8

AW: Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden

  Alt 18. Aug 2010, 15:57
Hallo,

eine CTE fällt bei dir flach, weil erst in 2.1 verfügbar. Du könntest eine rekursive SELECTable Stored Procedure schreiben.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden

  Alt 18. Aug 2010, 16:02
Oder auf FB 2.1 upgraden (sollte bei der embedded ja kein Problem darstellen)
Die Standard-Rekursionstiefe ist wohl 1024
Markus Kinzler
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#10

AW: Alle Kindeskinder(...) virtueller Ordnerstruktur herausfinden

  Alt 18. Aug 2010, 16:23
Technisch vielleicht kein Problem (Austausch der Embedded-Dateien), aber der Hund liegt meistens im Detail.

Bei jedem Upgrade die Doku bzgl. "Known Compatibility Issues" durchstöbern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:56 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