表间关系

1、查询用户下所有表间关系

select a.constraint_name, a.table_name, b.table_name, b.constraint_name
from user_constraints a, user_constraints b
where a.constraint_type = 'R'
and b.constraint_type = 'P'
and a.r_constraint_name = b.constraint_name;

2、查询一张表对应的主键和外键的约束关系

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

3、想更新数据,但不删表,则可以先使 表间关系  失效,即可插入数据、更新数据 

alter table t_order
disable constraint FK_T_ORDER_FK_ORDER__T_STUDEN;

posted @ 2016-03-18 15:34  NewLife365  阅读(228)  评论(0编辑  收藏  举报