Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.005 c
14-83237
ZeroDivide
2004-01-06 10:59
2004.01.26
Бросайте курить в новом году!


1-83143
Пубертанец
2004-01-15 12:20
2004.01.26
bpl вместо dll


3-83114
Michail Dalakov
2003-12-28 16:40
2004.01.26
MSSQL и деревья


1-83173
cobby
2004-01-15 02:43
2004.01.26
получить текущую ширину popupmenu


1-83167
zioza
2004-01-12 10:51
2004.01.26
Можно ли сделать форму прозрачной а компоненты на ней нет





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский