Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.21;
Скачать: CL | DM;

Вниз

Возможно ли рекурсию внести в хранимую процедуру на сервер   Найти похожие ветки 

 
Rustik   (2002-10-31 09:07) [0]

Для поиска в базе реализовал функцию рекурсии. Имеется таблица со структурой
PARENTID
ID
имеется PARENTID требуется вытащить все что в него входит.
На клиенте это происходит медленно. Вопрос: можно ли рекурсию перетащить на сервер в виде хранимой процедуры? Если кто сталкивался - буду признателен за совет.


 
skiph ©   (2002-10-31 09:33) [1]

Сам спросил - сам ответил. Можно. Только что за рекурсия?


 
Rustik   (2002-10-31 09:40) [2]

Весь приводить не буду опишу струтуру
выполняется запрос select...
на наличие дочерних ID если запрос не пустой то результат запроса передается в обьект запроса и функция вызывается сама из себя. Т.е. саму рекусию я реализовал в виде функции.


 
Polevi ©   (2002-10-31 10:00) [3]

тебе понадобиться временная таблица, в которую будешь помещать данные в ф-ии и возвращать клиенту
поэтому мой тебе совет - не исппользуй рекурсию в данном случае можно отлично обойтись без нее


 
Polevi ©   (2002-10-31 10:03) [4]

CREATE PROCEDURE GetChildren @ParentID INT AS
DECLARE @t TABLE(ID INT, level INT)
INSERT @t (ID,Level) VALUES (@ParentID,0)
DECLARE @Level INT
SET @Level=0
while exists(SELECT * FROM @t t, SomeTable b WHERE t.level=@level and b.parent=t.id)
begin
INSERT @t SELECT b.id, @level+1 from @t t, SomeTable b WHERE t.level=@level and b.parent=t.id
SET @level=@level+1
end

SELECT ID FROM @t



Страницы: 1 вся ветка

Текущий архив: 2002.11.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
14-69518
Nikolas SHmuS
2002-11-01 16:31
2002.11.21
Драйвер на FUJITSU MPE3084AE


1-69358
Guest2
2002-11-12 19:45
2002.11.21
Как проверить завершение процесса из своей проги?


4-69628
TankMan
2002-10-08 04:37
2002.11.21
Выключение компа но не простое.....:)


3-69139
Gaber
2002-10-30 16:53
2002.11.21
Запрос SQL на изменение значения поля


1-69327
Zhirnov Maxim
2002-11-12 17:15
2002.11.21
Как получить список компонентов на форме?