Работа с древовидными данными.

Модераторы: kdv, CyberMax

Ответить
keymaster
Сообщения: 9
Зарегистрирован: 11 авг 2006, 18:09

Работа с древовидными данными.

Сообщение keymaster » 09 фев 2009, 10:49

Есть некий справочник, древовидный.
Есть таблица, в которой он используется.

При массовой обработке можно (под ораклом) написать такое:

Код: Выделить всё

update 
[......]
where
   (groups.group_id in  (select groups.group_id
                                            from groups
                                            start with group_id = P_BEGINGROUP
                                            connect by prior group_id = parentgroup_id ))
Т.е. задаём начальную группу и апдейтиться будут только записи, входящие в неё и в дочерние группы.

Можно ли реализовать такое в FB?

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Re: Работа с древовидными данными.

Сообщение WildSery » 09 фев 2009, 12:13

WITH RECURSIVE посмотрел, не понравилось? Или может, не получилось?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Работа с древовидными данными.

Сообщение kdv » 09 фев 2009, 12:30

вопрос можно было задать гораздо проще -
поддерживается-ли в ФБ connect by?
ответ - нет. Возможно (не знаю) заменить эту конструкцию при помощи CTE в FB 2.5. См. release notes.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Работа с древовидными данными.

Сообщение hvlad » 09 фев 2009, 14:05

kdv писал(а):вопрос можно было задать гораздо проще -
поддерживается-ли в ФБ connect by?
ответ - нет. Возможно (не знаю) заменить эту конструкцию при помощи CTE в FB 2.5. См. release notes.
Возможно, и в 2.1, а не в 2.5

Ответить