我想通过这个SQL语句查询一个表的主外键
比如:
有表 “AC” 其中主键为“JH”
有表“AD”其中也有一个列名为“JH”的
则主键表是AC,外键表是AD 主键是AC的JH,外键是AD的JH
想要的结果是:主键表名,外键表名,主键,外键
如果答对了,我会多多加分的。先谢谢了。
SELECT * FROM user_constraints
不行,只能查到外键什么的,少。
已验证:
select INDEX_NAME 索引名, b.TABLE_NAME 主键表名, a.TABLE_NAME 外键表名, CONSTRAINT_TYPE, CONSTRAINT_NAME 约束名
from all_indexes a, all_constraints b
where b.TABLE_NAME='AC' AND CONSTRAINT_TYPE IN('P','R')
and R_CONSTRAINT_NAME=INDEX_NAME(+)
/
CONSTRAINT_TYPE='P'为主键,='R'为外键
select INDEX_NAME 索引名, b.TABLE_NAME 主键表名, a.TABLE_NAME 外键表名, CONSTRAINT_TYPE, CONSTRAINT_NAME 约束名
from all_indexes a, all_constraints b
where b.TABLE_NAME='AC' AND CONSTRAINT_TYPE IN('P','R')
and R_CONSTRAINT_NAME=INDEX_NAME(+)
/
CONSTRAINT_TYPE='P'为主键,='R'为外键
温馨提示:答案为网友推荐,仅供参考
第1个回答 2006-10-20
select * from user_constraints where
R_CONSTRAINT_NAME in (select constraint_name from user_constraints where table_name = 'DEPT') ;
查看所有 reference DEPT表的外键
R_CONSTRAINT_NAME in (select constraint_name from user_constraints where table_name = 'DEPT') ;
查看所有 reference DEPT表的外键
第2个回答 2006-10-16
有表 “AC” 其中主键为“JH”
有表“AD”其中也有一个列名为“JH”的
则主键表是AC,外键表是AD 主键是AC的JH,外键是AD的JH
想要的结果是:主键表名,外键表名,主键,外键
有表“AD”其中也有一个列名为“JH”的
则主键表是AC,外键表是AD 主键是AC的JH,外键是AD的JH
想要的结果是:主键表名,外键表名,主键,外键
第3个回答 2006-10-14
难道不能用 SELECT * FROM user_constraints ...?
R_CONSTRAINT_NAME 这个东西就是外键参照的另一个约束条件 ...
R_CONSTRAINT_NAME 这个东西就是外键参照的另一个约束条件 ...