Chcesz określić słowo kluczowe NOCYCLE po CONNECT BY:
tj.
SELECT NAME,
TYPE,
REFERENCED_NAME,
REFERENCED_TYPE
FROM DBA_DEPENDENCIES
WHERE OWNER='FOO'
AND NAME='VIEW_01'
CONNECT BY NOCYCLE
PRIOR REFERENCED_NAME = NAME;
Więcej informacji na temat NOCYCLE i słów kluczowych „CONNECT_BY_ISCYCLE” znajdziesz tutaj:http://www.dba -oracle.com/t_advanced_sql_connect_by_loop.htm
i tutaj:http://download.oracle. com/docs/cd/B19306_01/server.102/b14200/pseudocolumns001.htm
Mam nadzieję, że to pomoże...
EDYCJA:Po komentarzach przegapiłeś klauzulę START WITH.
SELECT NAME,
TYPE,
REFERENCED_NAME,
REFERENCED_TYPE
FROM DBA_DEPENDENCIES
WHERE OWNER='FOO'
START WITH NAME='VIEW_01'
CONNECT BY NOCYCLE
PRIOR REFERENCED_NAME = NAME;
BTW, zachowanie OWNER='FOO' gdzie klauzula ogranicza wszelkie zależności zwracane tylko do obiektu FOO, dzięki czemu możesz przeoczyć zależności z innych schematów.
Edycja 2:Kluczem podstawowym tabeli widoku jest właściciel, nazwa więc wybór powinien zaczynać się od obu i łączyć się przez oba. Możesz użyć miejsca, w którym odfiltrujesz pożądane wyniki.
SELECT OWNER, NAME, TYPE,
REFERENCED_OWNER,
REFERENCED_NAME,
REFERENCED_TYPE
FROM DBA_DEPENDENCIES
-- where referenced_type='TABLE'
START WITH owner = 'FOO' AND NAME='VIEW_01'
CONNECT BY NOCYCLE
PRIOR REFERENCED_NAME = NAME
AND PRIOR REFERENCED_OWNER = OWNER;