我想检查film.language_id
是否引用language.language_id
。
我用了代码:
SELECT *
FROM all_tab_columns
WHERE column_name = 'film.language';
结果:
no rows selected
这是否意味着没有引用/引用约束?
答案 0 :(得分:1)
如果您想知道列是否通过外键约束引用另一列,您可以执行以下操作:
查明列是否在约束中:
select constraint_name from user_cons_columns
where table_name='<Your_table>'
and column_name='<Your_column>';
如果是这样,它将为您提供该约束的名称。 接下来,您可以了解该约束是否是外键约束以及外键指向的位置:
select constraint_type
,r_constraint_name
from user_constraints
where constraint_name='<your constraint name>';
如果约束是外键约束,则其类型为&#39; R&#39;。这也将为您提供外键与之关联的主键约束的名称。
根据主键约束的名称,您可以按如下方式找到表和列:
select table_name
,column_name
from user_cons_columns
where constraint_name = 'Your PK constraint'
为了让生活更轻松,您可以将所有这些查询结合在一起。但我把它留给你。