代码之家  ›  专栏  ›  技术社区  ›  Mike

查询以查找表关系类型

  •  3
  • Mike  · 技术社区  · 16 年前

    使用Oracle,是否有任何方法可以执行查询来确定特定表与数据库中任何其他表之间的关系?我在摆弄那张桌子 all_constraints 从现在开始。

    2 回复  |  直到 16 年前
        1
  •  6
  •   Tony Andrews    16 年前

    select p.table_name, 'is parent of ' rel, c.table_name
    from   user_constraints p
    join   user_constraints c on c.r_constraint_name = p.constraint_name
                             and c.r_owner = p.owner
    where p.table_name = 'MYTABLE'    
    union all
    select c.table_name, 'is child of ' rel, p.table_name
    from   user_constraints p
    join   user_constraints c on c.r_constraint_name = p.constraint_name
                             and c.r_owner = p.owner
    where c.table_name = 'MYTABLE' 
    
        2
  •  3
  •   Moeb    16 年前

    我认为你最好的办法是尽可能多地从数据库中提取信息 外键 约束条件。

    看一看 this article 在数据库日志中详细解释了外键数据挖掘。