![]() |
Модераторы: Akella |
![]() ![]() ![]() |
|
DrRex |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.11.2007 Где: Самара Репутация: нет Всего: нет |
Суть проблемы: при вызове рекурсивной процедуры ADD_EXTRA при большом уровне вложенности сервер возвращает ошибку
При небольшом уровне вложенности (2-3) проблем нет. Кто-нибудь знает в чем причина ошибки и как ее избежать? Сервер FireBird2.0. Код ADD_EXTRA
Код extra_iu:
|
||||||
|
|||||||
igor_123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 14.12.2007 Где: Днепропетровск Репутация: нет Всего: нет |
А какова получается глубина рекурсии при ошибке???
Здесь: if (exists(select b.id from baseprice случайно не пропущен NOT, а то получается ты на каждую существующую запись уходиш вглубь??? Ну и задал-бы вопрос на sql.ru, там разработчики FireBird часто бывают - приникнеш к первоисточнику ;-) Забыл о главном сайте: ibase.ru, здесь тебе ответят на любые вопросы по FireBird Это сообщение отредактировал(а) igor_123 - 25.12.2007, 11:41 |
|||
|
||||
DrRex |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.11.2007 Где: Самара Репутация: нет Всего: нет |
Забыл указать: в таблице BASEPRICE данные хранятся в виде древовидной структуры, и поле PARID указывает на ID родителя. Поэтому логика запроса верна: выбираем все дочерние объекты, спускаемся по дереву пока не дойдем до терминальных записей. igor_123 за ссылки спасибо, посмотрим там ![]() |
|||
|
||||
DrRex |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.11.2007 Где: Самара Репутация: нет Всего: нет |
Вопрос снят.
|
|||
|
||||
Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: нет Всего: 51 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Interbase" | |
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |