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

Вниз

MSSQL и деревья   Найти похожие ветки 

 
Michail Dalakov ©   (2003-12-28 16:40) [0]

В Oracle можно запросом вернуть древовидную структуру или определенную ветку дерева, возможно ли такое в MSSQL


 
just me   (2003-12-28 16:48) [1]

буквально пару дней назад была об этом ветка, поищи в архиве


 
Michail Dalakov ©   (2003-12-28 17:05) [2]

To [1],
Спасибо нашел, но честно говоря мало что полезного, насколько, я понял деревья строились на клиенте, и насколько я понял имея в базе два поля ID и PARENT_ID MSSQL не позволяет построить иерархическую структуру одним SQL запросом.


 
Delirium ©   (2003-12-28 17:29) [3]

Совершенно верно, в MSSQL нет базовых операторов для развёртки деревьев, однако простенький цикл и временная таблица решают эту проблему ни чуть не хуже Oracle.


 
Michail Dalakov ©   (2003-12-28 17:54) [4]

To Delirium
В таком случае лучше завести HASH поле в котором будет храниться путь и строить дерево на клиенте за один проход


 
Delirium ©   (2003-12-28 18:00) [5]

Такое поле надо будет поддерживать, что обязательно скажется на производительности... Хотя у каждого свои подходы 8)


 
Michail Dalakov ©   (2003-12-28 18:30) [6]

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


 
Delirium ©   (2003-12-28 18:34) [7]

Увы, в тех задачах, где мне приходилось строить деревья, узлы не только меняли родителей на одном уровне, но и меняли сам уровень. Так что оставалось только оринетироваться на идентификатор предка и потоянно "бегать" вверх и вниз :)

P.S. Я пошёл пить водку, с новым годом! ;)


 
Michail Dalakov ©   (2003-12-28 18:43) [8]

Всем спасибо!
Всех с новым годом!



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

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

Наверх




Память: 0.48 MB
Время: 0.009 c
14-83236
Vlad Oshin
2004-01-06 11:14
2004.01.26
http://www.redvlad.nightmail.ru/golova.html


7-83284
Alexious
2003-11-10 14:03
2004.01.26
Приложения


4-83303
User_OKA
2003-11-21 09:29
2004.01.26
Получение информации о выполняющихся в системе процессах


9-83085
loto
2003-05-29 18:33
2004.01.26
(OpenGL) модули математических действий с матрицами


3-83121
stud
2003-12-29 15:51
2004.01.26
описания полей на русском