![]() |
AW: [SQL] Kaskadierende Eltern-Kind Beziehung in selber Tabelle auflösen
Hmhmhm, ich habe jetzt zunächst mit einer SP rumgespielt, wobei ich hier bisher nur mit einfachen Einzeilern rumgemacht habe. MySQL meckert einen Fehler in der letzten Zeile des folgenden an:
SQL-Code:
"END;" ist fast sicher richtig :). Aber wo ist mein Patzer wirklich? Zudem scheint mein MySQL server die Variable zum Verstellen der Rekursionstiefe nicht. Lustigerweise benennt das selbe Manual für die selbe MySQL Version (5.1) sowohl die Option zum Einstellen der maximalen Tiefe, schreibt in der Sektion zu Einschränkungen von SPs aber gleichzeitig "- Stored functions cannot be used recursively. Watten nu!? *seufz*
CREATE FUNCTION makefullname (name VARCHAR(255), pid INT)
RETURNS VARCHAR(255) BEGIN DECLARE name2 VARCHAR(255); DECLARE pid2 INT; DECLARE c CURSOR FOR SELECT name, parentID FROM testtabelle WHERE id=pid; OPEN c; FETCH c INTO name2, pid2; IF pid2!=0 THEN RETURN CONCAT(name, ' ', makefullname(name2, pid2)); ELSE RETURN name; CLOSE c; END; Das mit dem JOIN wäre so sexy gewesen. Im Zweifel werd ich morgen auch noch mal temporäre Tabellen versuchen - ich hoffe, dass das nicht zu langsam wird :\ |
AW: [SQL] Kaskadierende Eltern-Kind Beziehung in selber Tabelle auflösen
Was für einen Fehler?
|
AW: [SQL] Kaskadierende Eltern-Kind Beziehung in selber Tabelle auflösen
Zitat:
Ich benutze übrigens den MySQL Administrator aus den GUI-Tools von MySQL. |
AW: [SQL] Kaskadierende Eltern-Kind Beziehung in selber Tabelle auflösen
Es geht auch ohne Rekursion...
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 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-2025 by Thomas Breitkreuz