Главная страница
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.015 c
15-1191495261
Василий
2007-10-04 14:54
2007.11.11
PNG Delphi (Gustavo Daud) Как снимать ImageOver?


6-1173157780
zap8
2007-03-06 08:09
2007.11.11
Как определить что сервер поддерживает докачку


8-1168752381
9903
2007-01-14 08:26
2007.11.11
Компоненты для работы c wma mp3


6-1173542908
Эва
2007-03-10 19:08
2007.11.11
Обмен данными между приложениями через IdTCPClient/Server


2-1192184520
inex
2007-10-12 14:22
2007.11.11
усовершенствование цикла