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