首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

怎么将Oracle数据库中的表按照依赖关系排序,应该查找哪张表

2012-05-27 
如何将Oracle数据库中的表按照依赖关系排序,应该查找哪张表?1.假设数据库中有a,b,c,d四张表,其中b依赖于a,

如何将Oracle数据库中的表按照依赖关系排序,应该查找哪张表?
1.假设数据库中有a,b,c,d四张表,其中b依赖于a,c依赖于a,d依赖于b,我想在数据库中首先或得这些依赖关系
  b->a
  c->a
  d->b
  其中->为依赖的意思
2.通过以上的依赖关系,我想将这些表进行排序即a,b,c,d或者a,c,b,d其中b,c两者的先后顺序可以不管,但是d一定在b,c的后面,a一定在b,c的前面。


请有相关经验的朋友帮忙给个解决的思路。

[解决办法]

SQL code
/********************************查询表之间的主外键关系********************************/Select b.table_name 主键表名,           b.column_name 主键列名,           a.table_name 外键表名,           a.column_name 外键列名From (Select a.constraint_name,                       b.table_name,                       b.column_name,                       a.r_constraint_name          From user_constraints a, user_cons_columns b         Where a.constraint_type = 'R'           And a.constraint_name = b.constraint_name) a,       (Select Distinct a.r_constraint_name, b.table_name, b.column_name          From user_constraints a, user_cons_columns b         Where a.constraint_type = 'R'           And a.r_constraint_name = b.constraint_name) bWhere a.r_constraint_name = b.r_constraint_name 

热点排行