如何查找与当前表有关系的其他表

解决方案 »

  1.   

    这个关系如何定义
    只要有需要,任何两个表之间都可能有关系
    通过下列语句可以查外键关系
    select a.INDEX_NAME 主键名, b.TABLE_NAME 主键表名, a.TABLE_NAME 外键表名,  b.CONSTRAINT_NAME 外键名
      from user_indexes a, user_constraints b
      where b.CONSTRAINT_TYPE='R' and b.table_name='XX' or a.table_name='XX'--表名要大写
     and b.R_CONSTRAINT_NAME=a.INDEX_NAME
    可以将user_.. 换成all_.. 
    这样查出来的表就不只是当前用户表
      

  2.   

    试试这个 select a.TABLE_NAME name, 'IMPORT FROM' type
      from user_indexes a, user_constraints b
      where b.CONSTRAINT_TYPE='R' and b.table_name='你的表名'
     and b.R_CONSTRAINT_NAME=a.INDEX_NAME
     union 
     select b.table_name, 'EXPORT TO' from user_indexes a, user_constraints b where a.table_name='你的表名'
      and b.R_CONSTRAINT_NAME=a.INDEX_NAME
       and b.CONSTRAINT_TYPE='R'
    --- 表名要大写
      

  3.   

    利用user_constraints可以查看与该表相关的约束信息
    all_cons_columns, 可以查看与某个约束是作用在哪个列或表上;连接着两个表就可以查看相关的表了