簡體   English   中英

在SQL Developer中從外鍵中查找引用表

[英]Finding reference table from foreign key in SQL Developer

好的,所以我是SQL的新手,並不熟悉Oracle SQLDev,但我正在制作的工具要求我訪問Oracle數據庫並收集一些信息。 我正在嘗試計算外鍵指向的表。

該數據庫有數千個表。

例:

我有一個表(TASKS),其中包含以下列[id,user,task_type,task_group]。 問題是所有這些值都是與另一個表對應的ID,並且表命名約定不直觀。

那么如何找出task_type指向哪個表?

select acc.table_name REFERENCING_TABLE_NAME, acc.column_name REFERENCING_COLUMN_NAME
from all_constraints ac1,
all_constraints ac2,
all_cons_columns acc
where ac1.constraint_type = 'P'
and ac1.table_name = :table_name
and ac2.r_constraint_name = ac1.constraint_name
and ac2.constraint_name = acc.constraint_name;

應該工作

請參閱我的帖子(第二個答案),了解如何將其添加為sqldeveloper中的擴展名:

如何在Oracle SQL Developer中找到哪些表引用給定表?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM