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

Вниз

Зацикливание при иерархическом запросе   Найти похожие ветки 

 
Sonia ©   (2007-10-17 17:21) [0]

Здравствуйте. Имеются данные из 3-х полей flt, sst, mff соответственно:
С7001 - 00 - null
7Б002 - 02 - null
C7003 - SF - 7Б002
И6004 - SF - 7Б002
и т.д.
пишу запрос:

SELECT     hfd.flt, hfd.mff
     FROM hist_flight_departures hfd
    WHERE hfd.sst <> "00" AND hfd.sdt BETWEEN to_date("01.08.2007","dd.mm.yyyy") AND to_date("02.08.2007","dd.mm.yyyy")
START WITH hfd.sst <> "SF" -- то есть для строк, где поле sst = 01 или 02 или 03 и т.д.
CONNECT BY prior hfd.flt = hfd.mff


С помощью этого запроса хочу получить информацию, вида: (flt и mff соответственно):
7Б002  - C7003
7Б002  - И6004

При этом Оракл пишет ошибку зацикливание (Connect by loop in user data). Подскажите, в чем ошибка?
Спасибо!


 
Reindeer Moss Eater ©   (2007-10-17 17:28) [1]

стартовать надо с единственного ключа, а не с множества


 
Sergey13 ©   (2007-10-17 17:36) [2]

> [0] Sonia ©   (17.10.07 17:21)
> Подскажите, в чем ошибка?

В данных наверное. Кольцо нашлось.

> [1] Reindeer Moss Eater ©   (17.10.07 17:28)

Разве?


 
Sonia ©   (2007-10-18 10:22) [3]


> В данных наверное. Кольцо нашлось.

Хм...не должно быть... flt у которых sst="SF" - всегда дочерние


 
Sonia ©   (2007-10-18 10:29) [4]

Могу конечно намутить селект из селекта, но не хочется....Да и дольше обрабатываться наверное будет...


 
Sonia ©   (2007-10-18 10:57) [5]


> В данных наверное. Кольцо нашлось.

А как проверить, есть кольцо или нет, не прибегая к ручному просмотру?


 
Sergey13 ©   (2007-10-18 11:09) [6]

> [5] Sonia ©   (18.10.07 10:57)

Сначала позапускай последовательно запрос для каждого члена множества hfd.sst <> "SF" - найдешь проблемную ветку.

После добавь в запрос level

CONNECT BY prior hfd.flt = hfd.mff and level<3

повышая уровень вложенности найдешь проблемный уровень.

Я бы так искал.


 
Sonia ©   (2007-10-18 12:04) [7]


> Sergey13 ©   (18.10.07 11:09) [6]

Спасибо, попробую, но скорее всего проблема в написанном коде, т.к. таблица написана не мной, поэтому на 99.(9) % зацикливания в данных не должно быть...



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

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

Наверх




Память: 0.48 MB
Время: 0.021 c
11-1176476126
D[u]fa
2007-04-13 18:55
2007.11.11
Str2Extended


8-1169127491
namor
2007-01-18 16:38
2007.11.11
Музыка в Делфи


11-1176983639
restar82
2007-04-19 15:53
2007.11.11
ошибка при компиляции


3-1183366594
GL00m
2007-07-02 12:56
2007.11.11
Delete в SQLQuery не работает


3-1183115535
Mamed
2007-06-29 15:12
2007.11.11
"Could not convert variant of type (null) into type (Olestr)"