发表人:PercyWang | 发表时间: 2007年十一月12日, 17:18
有同事问能不能查询出主外键表和相关字段,便于数据初始化工作,随手查了一下网络和Oracle联机帮助,写了一个。
不过好像还是有点缺陷,无法实现以树的方式展现,即从最后的外键表一直向前追溯,好像用connect写出来 有点语法错误。如果有高人不妨帮忙补充一下。
select
A.OWNER "用户名称",
c.TABLE_NAME "主键表",
d.COLUMN_NAME "主键字段",
B.R_CONSTRAINT_NAME "主键约束",
a.TABLE_NAME "外键表",
a.COLUMN_NAME "外键字段",
A.constraint_name "外键约束"
from user_cons_columns a,user_constraints b,user_constraints C,user_cons_columns D
where a.constraint_name = b.constraint_name
and B.constraint_type = 'R'
And B.R_CONSTRAINT_NAME=C.CONSTRAINT_NAME
And C.constraint_type = 'P'
And C.constraint_name =D.constraint_name
order by "用户名称","主键表","主键字段","主键约束","外键表","外键字段","外键约束"