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

Вниз

Oracle. connect by prior. Порядок возвращения записей   Найти похожие ветки 

 
12 ©   (2010-08-25 14:30) [0]

пусть имеется иерархия

ТЕСТ
 ТЕСТ2
 ТЕСТ33
     ТЕСТ4
     ТЕСТ5
     ТЕСТ6
        ТЕСТ7


получаем ее запросом

    select LEVEL, s.* from subscriber s                  
    where s.filial_id = 13
    start with s.id_subscriber = 4234                    
    connect by prior s.id_subscriber = s.up_id;


1 4234   ТЕСТ
2 4235 4234  ТЕСТ2
2 4236 4234  ТЕСТ33
3 4237 4236  ТЕСТ4
3 4239 4236  ТЕСТ5
3 4240 4236  ТЕСТ6
4 4241 4240  ТЕСТ7


т.е. все получили так, что можно строить иерархию прямо идя сверху вниз

вопрос
А не может ли так быть, что вернется
1 4234   ТЕСТ
2 4236 4234  ТЕСТ33
2 4235 4234  ТЕСТ2

3 4237 4236  ТЕСТ4
3 4239 4236  ТЕСТ5
3 4240 4236  ТЕСТ6
4 4241 4240  ТЕСТ7


и, получается, что уже не возможно построить, не заглядывая вперед!

так может вернуться dataset по второму варианту или нет? (сколько раз не пробовал - нет. Но вдруг?)


 
Petr V. Abramov ©   (2010-08-25 14:39) [1]


> так может вернуться dataset по второму варианту или нет?
>  (сколько раз не пробовал - нет. Но вдруг?)
>

запросто может.
чтоб гарантированно отсортировать "правильно", начиная, по-моему, с 9-ки, есть волшебное слово order siblings by, но в 10-ке оно периодически глючит, валится по 600-й ошибке, лечится патчем до 10.2.0.4, который я не ставил, ничего сказать по него не могу.


 
12 ©   (2010-08-25 14:47) [2]

спасибо, Петр!

Надо чтоб гарантировано работало на всех, в т.ч и на 8 :)
придется пересмотреть построение..


 
Игорь Шевченко ©   (2010-08-25 14:51) [3]


> придется пересмотреть построение..


order by в конце запроса не поможет ?


 
Petr V. Abramov ©   (2010-08-25 14:53) [4]


> Игорь Шевченко ©   (25.08.10 14:51) [3]

не поможет, сортировка по иерархии слетит.


 
12 ©   (2010-08-25 14:56) [5]

да, в общем случае, слетит
пробовал уже


 
Dennis I. Komarov ©   (2010-08-26 16:17) [6]

Первое поле не имеет смысл, а вот сделать уникальный ключ для каждого родителя - поможет.



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

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

Наверх




Память: 0.48 MB
Время: 0.005 c
2-1284615492
b86
2010-09-16 09:38
2010.12.05
перетаскивание имаджев соединёных линией


15-1282763419
Desdechado
2010-08-25 23:10
2010.12.05
Каптча в стиле дзен


2-1284336951
statistic
2010-09-13 04:15
2010.12.05
Помогите разобраться с XML файлом


4-1241763398
OlegNik
2009-05-08 10:16
2010.12.05
Отловить событие мыши.


2-1284406232
ZV
2010-09-13 23:30
2010.12.05
Проблемы с компонентом TPanel