加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

我如何找到哪些表引用Oracle SQL Developer中的给定表?

发布时间:2020-12-12 14:57:02 所属栏目:百科 来源:网络整理
导读:在 Oracle SQL Developer,如果我查看一个表上的信息,我可以查看约束,这让我看到外键(以及因此哪些表被引用这个表),我可以查看依赖关系看看什么包和这样的参考表。但我不知道如何找到哪些表引用表。 例如,说我在看emp表。还有另一个表emp_dept,它捕获哪
在 Oracle SQL Developer,如果我查看一个表上的信息,我可以查看约束,这让我看到外键(以及因此哪些表被引用这个表),我可以查看依赖关系看看什么包和这样的参考表。但我不知道如何找到哪些表引用表。

例如,说我在看emp表。还有另一个表emp_dept,它捕获哪些员工在哪些部门工作,哪些部门通过emp表(通过emp表的主键)引用emp表。有没有办法(通过程序中的一些UI元素,不通过SQL)发现emp_dept表引用emp表,而不必知道emp_dept表存在?

不,Oracle SQL Developer没有这样的选项。

您必须手动执行查询或使用其他工具(例如PLSQL Developer有这样的选项)。以下SQL是PLSQL开发人员使用的:

select table_name,constraint_name,status,owner
from all_constraints
where r_owner = :r_owner
and constraint_type = 'R'
and r_constraint_name in
 (
   select constraint_name from all_constraints
   where constraint_type in ('P','U')
   and table_name = :r_table_name
   and owner = :r_owner
 )
order by table_name,constraint_name

其中r_owner是您正在查找引用的表。

注意,因为在Oracle SQL Developer的报告选项卡上有一个选项“所有表/依赖关系”,这是从ALL_DEPENDENCIES,它指的是“当前用户可访问的过程,包,函数,包主体和触发器之间的依赖关系,在没有任何数据库链接的情况下创建的视图。然后,此报告对您的问题没有价值。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读