Anda ingin menentukan kata kunci NOCYCLE setelah CONNECT BY Anda:
yaitu
SELECT NAME,
TYPE,
REFERENCED_NAME,
REFERENCED_TYPE
FROM DBA_DEPENDENCIES
WHERE OWNER='FOO'
AND NAME='VIEW_01'
CONNECT BY NOCYCLE
PRIOR REFERENCED_NAME = NAME;
Ada info lebih lanjut tentang NOCYCLE dan kata kunci "CONNECT_BY_ISCYCLE" di sini:http://www.dba -oracle.com/t_advanced_sql_connect_by_loop.htm
dan di sini:http://download.Oracle. com/docs/cd/B19306_01/server.102/b14200/pseudocolumns001.htm
Semoga membantu...
EDIT:Setelah komentar, Anda melewatkan klausa MULAI DENGAN.
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, pertahankan OWNER='FOO' di mana klausa membatasi semua dependensi yang dikembalikan hanya ke objek FOO sehingga Anda mungkin kehilangan dependensi dari skema lain.
Sunting 2:Kunci utama dari tabel tampilan adalah pemilik, nama sehingga pilih harus dimulai dengan keduanya dan dihubungkan oleh keduanya. Anda dapat menggunakan tempat untuk memfilter hasil yang diinginkan.
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;