有没有办法通过查询获取所有具有外键的表到 oracle 中的另一个表?
问问题
34729 次
3 回答
21
这是一篇带有答案的好文章:
select owner,constraint_name,constraint_type,table_name,r_owner,r_constraint_name
from all_constraints
where constraint_type='R'
and r_constraint_name in (select constraint_name from all_constraints
where constraint_type in ('P','U') and table_name='TABLE_NAME');
于 2009-04-08T19:20:44.720 回答
1
假设父表和子表都在同一个模式中,请执行以下操作:
select t1.table_name child_table, t1.constraint_name, t2.table_name parent_table
from user_constraints t1, user_constraints t2
where t1.r_constraint_name = t2.constraint_name
请注意,r_constraint_name 仅针对 FK(类型“R”)约束填充,因此自联接仅返回感兴趣的信息
于 2009-04-08T19:56:24.073 回答
0
如果我们知道父键,只需用员工表更改 juan 的答案
select *
from user_constraints
where R_CONSTRAINT_NAME='EMP_EMP_ID_PK'
and constraint_type='R'
于 2016-07-24T06:32:06.890 回答