oracle查询是否有主外键关系

主键关联外键:

select f.TABLE_NAME || '.' || f.COLUMN_NAME father_col,
       c.TABLE_NAME || '.' || c.COLUMN_NAME children_col
  from user_cons_columns f, user_cons_columns c
 where (f.CONSTRAINT_NAME, c.CONSTRAINT_NAME) in
       (select child.R_CONSTRAINT_NAME father_cons_name,
               child.CONSTRAINT_NAME   children_cons_name
          from user_constraints father, user_constraints child
         where father.CONSTRAINT_TYPE in ('P', 'U')
           and father.CONSTRAINT_NAME = child.R_CONSTRAINT_NAME
           and child.table_name in
               ('SCM_INPUT_WASTE_BOOK'))
 order by children_col;

外键关联主键:

select f.OWNER || '.' || f.TABLE_NAME || '.' || f.COLUMN_NAME father_col,
       c.OWNER || '.' || c.TABLE_NAME || '.' || c.COLUMN_NAME children_col
  from user_cons_columns f, user_cons_columns c
 where (f.CONSTRAINT_NAME, c.CONSTRAINT_NAME) in
       (select child.R_CONSTRAINT_NAME father_cons_name,
               child.CONSTRAINT_NAME   children_cons_name
          from user_constraints father, user_constraints child
         where father.CONSTRAINT_TYPE in ('P', 'U')
           and father.CONSTRAINT_NAME = child.R_CONSTRAINT_NAME
           and father.table_name in
               ('SCM_INPUT_WASTE_BOOK'));


版权声明:本文为ningziwen原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。