Chcete zadat klíčové slovo NOCYCLE za 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;
Více informací o NOCYCLE a klíčových slovech "CONNECT_BY_ISCYCLE" je zde:http://www.dba -oracle.com/t_advanced_sql_connect_by_loop.htm
a zde:http://download.oracle. com/docs/cd/B19306_01/server.102/b14200/pseudocolumns001.htm
Doufám, že to pomůže...
EDIT:Po komentářích jste vynechali klauzuli 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, ponechání klauzule OWNER='FOO' kde omezuje jakékoli závislosti vrácené pouze na objekt FOO, takže možná přehlédnete závislosti z jiných schémat.
Edit 2:Primárním klíčem tabulky pohledu je vlastník, jméno, tedy výběr by měl začínat oběma a připojovat se oběma. Můžete použít kde k odfiltrování požadovaných výsledků.
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;