EXECUTE BLOCK (ID INTEGER = :ID) RETURNS(Path VARCHAR(8192)) AS BEGIN Path = ''; WHILE (:ID IS DISTINCT FROM NULL) DO BEGIN SELECT name || '\' || :Path, parent FROM gd_contact WHERE id = :ID INTO :Path, :ID; END Path = SUBSTRING(:Path FROM 1 FOR CHARACTER_LENGTH(:Path) - 1); SUSPEND; END
21 дек. 2012 г.
Путь к элементу дерева через EXECUTE BLOCK
Раньше уже обсуждалось использование рекурсивного CTE для получения пути к элементу древовидной иерархии. То же самое можно сделать и без CTE с использованием конструкции EXECUTE BLOCK:
Комментариев нет:
Отправить комментарий