oracle 查询父表主键,父表字段主键, 子表主键,子表字段主键sql
时间: 2024-02-07 11:04:16 浏览: 67
获取ORACLE 表字段,表名,以及主键之类等等的信息
5星 · 资源好评率100%
要查询Oracle数据库中父表和子表的主键及其相关字段,您可以使用以下SQL查询:
```
SELECT pk.table_name AS "父表名",
pk.column_name AS "父表主键字段",
fk.table_name AS "子表名",
fk.column_name AS "子表主键字段"
FROM user_constraints pk, user_constraints fk, user_cons_columns pk_cols, user_cons_columns fk_cols
WHERE pk.constraint_type = 'P' -- P表示主键
AND pk.constraint_name = pk_cols.constraint_name
AND pk_cols.column_name = pk.column_name
AND fk.constraint_type = 'R' -- R表示外键
AND fk.r_constraint_name = pk.constraint_name
AND fk.constraint_name = fk_cols.constraint_name
AND fk_cols.column_name = fk.column_name;
```
其中,`pk.table_name`列将显示父表的名称,`pk.column_name`列将显示父表的主键字段,`fk.table_name`列将显示子表的名称,`fk.column_name`列将显示子表的主键字段。
请注意,此查询仅适用于当前用户拥有的表和主键。如果您需要查询其他用户的表和主键,可以将`user_constraints`更改为`all_constraints`或`dba_constraints`,具体取决于您的访问权限。
阅读全文