ITPub博客

首页 > Linux操作系统 > Linux操作系统 > sql 查询 主外键的 一点心得

sql 查询 主外键的 一点心得

原创 Linux操作系统 作者:wengtf 时间:2011-04-08 16:07:12 0 删除 编辑

long long ago建了2个表有主外键,只记得在users表空间叫啥,表名估计只记得个大概,我现在要truncate 其中一张,肯定不行吧,但又不知道哪2张表有主外键。咋整,help~~~~~!!!~~~~~

别把dba_tables 这个视图给忘了hoho~!~!

select owner,table_name,tablespace_name from dba_tables where tablespace_name='USERS';

所有表的主外键关系查询:

select a.table_name         主表,
       b.table_name         子表,
       column_name          键,
       substr(position,1,1) P
from
      user_constraints a, user_constraints b, user_cons_columns c
where
      a.constraint_name = b.r_constraint_name
and   a.constraint_name = c.constraint_name
order by 1, 2, 4;

查询单个表的所有主外键关系

 

select a.owner 主键拥有者

         ,a.table_name 主键表

        ,b.column_name 主键列

        ,C.OWNER 外键拥有者

        ,c.table_name 外键表

       ,d.column_name 外键列
from user_constraints  a
left join user_cons_columns b

            on  a.constraint_name=b.constraint_name
left join user_constraints C

            ON C.R_CONSTRAINT_NAME=a.constraint_name
left join user_cons_columns d

            on c.constraint_name=d.constraint_name
where  a.constraint_type='P'

    and  a.table_name='XXX' --需要查看主外键关系的表
order by a.table_name

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22907091/viewspace-691961/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-07

  • 博文量
    62
  • 访问量
    190952