使用Oracle,有什么办法可以执行查询来确定特定表与数据库中任何其他表的关系?到目前为止,我正在摆弄all_constraints
表。
答案 0 :(得分:6)
是的,您可以这样做:
select p.table_name, 'is parent of ' rel, c.table_name
from user_constraints p
join user_constraints c on c.r_constraint_name = p.constraint_name
and c.r_owner = p.owner
where p.table_name = 'MYTABLE'
union all
select c.table_name, 'is child of ' rel, p.table_name
from user_constraints p
join user_constraints c on c.r_constraint_name = p.constraint_name
and c.r_owner = p.owner
where c.table_name = 'MYTABLE'
答案 1 :(得分:3)
我认为您最好的选择是尝试从外键约束中提取尽可能多的信息。
在Database Journal上查看this article,详细解释外键数据挖掘。