![]() |
Datenbank: Firebird • Version: 2.0 • Zugriff über: IBX
FIREBIRD und Hiearchien abfragen
Hallo
aufbauend auf ![]() ich versucht die Lösung für den ![]() temporäre Tabelle in einer Firebird procedure anlegen kann. Hätte da jemand ein Beispiel für micht?
Code:
CREATE PROCEDURE "SELECT_SUBTREE"
( "I_NODETEXT" VARCHAR(25) CHARACTER SET ISO8859_1 ) RETURNS ( "O_ID" INTEGER, "O_PARENTID" INTEGER, "O_NAME" VARCHAR(25) CHARACTER SET ISO8859_1 ) AS DECLARE VARIABLE CHILD_ID INTEGER; begin DELETE FROM SUBTREE; INSERT INTO SUBTREE (ID,PARENT_ID,NAME) SELECT a.ID, a.PARENT_ID, a.NAME FROM tree a WHERE LOWER(a.Name) = LOWER(:I_NODETEXT); FOR SELECT p.ID FROM subtree p INTO :CHILD_ID AS CURSOR C DO INSERT INTO SUBTREE (ID,PARENT_ID,NAME) SELECT a.ID, a.PARENT_ID, a.NAME FROM tree a WHERE a.PARENT_ID=:CHILD_ID; FOR SELECT x.ID,x.Parent_ID,x.Name FROM subtree x INTO :O_ID,:O_PARENTID,:O_NAME DO SUSPEND; end ^ |
Re: FIREBIRD und Hiearchien abfragen
Geht in Firebird noch einfacher, da FireBird ab Version 2.1 CTE nativ unterstützt
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 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