看到oracle表之间的连接?

时间:2018-04-17 12:13:45

标签: sql oracle

我有一个查询,显示给定表空间的所有表:

select tablespace_name, table_name from ALL_tables
where tablespace_name = 'final';

我正在寻找在数据库/表空间中链接表格的方式/方式。

有没有办法选择所有等于外键的主键?或者列出所有外键及其引用的键。

1 个答案:

答案 0 :(得分:0)

试试这个 - 为所有者或表名添加过滤器

with col_list as
(select owner, constraint_name, listagg(column_name,',') within group (order by position) col_list
      from dba_cons_columns
      group by owner, constraint_name) 
select pk.owner, pk.constraint_name pk, fk.owner, fk.constraint_name fk, pk_cols.col_list, fk_cols.col_list 
from dba_constraints pk
join dba_constraints fk
on pk.constraint_name=fk.r_constraint_name
and pk.owner=fk.r_owner
and fk.constraint_type='R'
join col_list pk_cols
on pk_cols.constraint_name=pk.constraint_name
and pk_cols.owner=pk.owner
join col_list fk_cols
on fk_cols.constraint_name=fk.constraint_name
and fk_cols.owner=fk.owner