我需要以递归方式选择所有引用我的表的表。
因此,假设我需要为book_author表执行此任务。像这样的查询:
select distinct sys_connect_by_path(a.table_name, '/'), level
from user_constraints a
join user_constraints b
on a.table_name = b.table_name
start with a.table_name = 'BOOK_AUTHOR'
connect by prior a.r_constraint_name = b.constraint_name
给我这个结果
/BOOK_AUTHOR/D_BOOK/JOBS/CITY/COUNTRY/REGIONS 6
/BOOK_AUTHOR/D_BOOK/JOBS/CITY/COUNTRY 5
/BOOK_AUTHOR/D_BOOK/JOBS/CITY 4
/BOOK_AUTHOR/D_BOOK/D_STYLE 3
/BOOK_AUTHOR/D_BOOK/JOBS 3
/BOOK_AUTHOR/D_AUTHOR 2
/BOOK_AUTHOR/D_BOOK 2
/BOOK_AUTHOR 1
,这几乎是我所需要的。
您能否帮助我在不使用 connect by 但在递归函数调用的帮助下获得相同的结果?
PS不要与表格书籍,工作,国家等的神秘联系相混淆 - 我一直在玩这些表格中的外键 - 因为我想让我的层次结构真的很深