Форум: "Базы";
Текущий архив: 2004.01.26;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c