Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Рекурсивный обход зависимостей / 11 сообщений из 11, страница 1 из 1
18.08.2016, 11:47:46
    #39293811
dMazay82
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивный обход зависимостей
Всем доброго дня.
Написал запрос рекурсивного поиска зависимостей у пакета через all_dependencies и Connect by prior.
Сейчас он показывает полное дерево зависимостей.
Подскажите как выбрать именно ту ветку которая мне надо. Например я знаю Пакет А через 5 других пакетом связан с пакетом В как отобразить именно эту ветку?
...
Рейтинг: 0 / 0
18.08.2016, 12:20:53
    #39293833
Fogel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивный обход зависимостей
...
Рейтинг: 0 / 0
18.08.2016, 12:46:38
    #39293856
Рекурсивный обход зависимостей
dMazay82 именно эту ветку?написать условие начала в start with и окончания в connect by.
и про циклы не забывать.
...
Рейтинг: 0 / 0
18.08.2016, 13:02:44
    #39293865
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивный обход зависимостей
очевидностъокончания в connect by.Продемонстрируй.
...
Рейтинг: 0 / 0
18.08.2016, 13:07:51
    #39293872
dMazay82
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивный обход зависимостей
Почитал Hierarchical Queries
Условия задал

start with tbl.Name='ПАКЕТ А' and tbl.OWNER='ЯЯЯЯЯ'
connect by nocycle prior NAME=REFERENCED_NAME and REFERENCED_OWNER=owner
and REFERENCED_NAME='ПАКЕТ Б'

Но все-равно все зависимости первого уровня попадают, не пойму где не прав
...
Рейтинг: 0 / 0
18.08.2016, 13:37:04
    #39293891
Рекурсивный обход зависимостей
dMazay82,

в connect by условие перехода. тебе нужно добавить в него условие выхода в виде... догадаться не сложно - НЕ ПЕРЕХОДА по предыдущему значению.
...
Рейтинг: 0 / 0
18.08.2016, 13:43:14
    #39293894
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивный обход зависимостей
д.б. (с) лавровв connect by условие перехода. тебе нужно добавить в него условие выходаВ курсе, что connect by не фильтрует?
...
Рейтинг: 0 / 0
18.08.2016, 14:31:23
    #39293954
Рекурсивный обход зависимостей
Elic,

был не прав. "выход" через connect by не исключит левые пути.
...
Рейтинг: 0 / 0
18.08.2016, 14:49:09
    #39293972
dMazay82
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивный обход зависимостей
Варианты?
...
Рейтинг: 0 / 0
18.08.2016, 14:53:44
    #39293977
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивный обход зависимостей
dMazay82Подскажите как выбрать именно ту ветку которая мне надо.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
with tree as
( select …, sys_connect_by_path(object_id, '\') as path
    …
    start with … = :start
    …
) select t.*
    from tree e, tree t
    where e.… = :end
      and e.path like t.path || '%'
...
Рейтинг: 0 / 0
18.08.2016, 14:55:49
    #39293979
dMazay82
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивный обход зависимостей
Elic,

Надеялся что существует более эстетичное решение))

Всем спасибо
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Рекурсивный обход зависимостей / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]