Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Можно использовать в storeprocedure рекурсив? (Yarik) 07/12/2004 - 13:28:30
      Re: Можно использовать в storeprocedure рекурсив? (Валентин) 07/12/2004 - 16:49:44

> Original message text:
> From: Yarik - 07/12/2004 - 13:28:30
> Subject:Можно использовать в storeprocedure рекурсив?
> -----------------
> Вот собственно и вопрос. Можно ли использовать в storeprocedures рекурсивность ?
> Или как мне правильнее решить задачу такого типа:
> есть таблица с тремя полями: id int(3), parent_id (int 3), otherdata char(7)
> В этой таблице есть записи родительские и дочерние.
> Например, запись: values(1,1,'mama') является родительской.
> А запись: values(2,1,'doch') является дочерней.
> А у записи values(3,2,'vnuchka') является дочерней тоже, но самый главный родитель :) у нее - первая запись id = 1.
> Так вот, мне надо вывести все строки, которые являются дочерними любого уровня для определеной записи.
> Например, если для первой записи, то вывести надо строки с id = 2 и 3. А если для второй записи, то только id = 3.
> Вот как это сделать правильнее?
>


From: Валентин - 07/12/2004 - 16:49:44
Subject:Можно использовать в storeprocedure рекурсив?
-----------------
Вытягивать деревья из одной таблицы можно только рекурсивными процедурами, иначе всегда будут ограничения.
В 5.0.0 и 5.0.1 рекурсия в процедуре не работала (crush).
В 5.0.2 неизвестно, поскольку он crush при попытке выборки (на винде), так что точно я не знаю.
Можно конечно обойти это дело на компонентах и будет все хорошо, до тех пор пока не захочется извлекать отчеты сразу готовые и привязанне к дереву с красивой структурой.
Но и это обходится, но только не очень красиво.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
18931



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |