You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

探索主键与外键构建ERD及Oracle导入数据后查询约束的技术问询

嘿,我完全懂你现在的痛点——要构建ERD就得搞清楚主键和外键的关联,但select * from cat;根本帮不上忙,手动挨个查表效率太低了!下面给你几个实用的Oracle查询语句,能快速把你需要的约束信息揪出来:

1. 查询所有表的主键约束

这个语句能列出每个表的主键列和对应的约束名:

SELECT 
    owner,
    table_name,
    constraint_name,
    column_name
FROM 
    all_cons_columns
WHERE 
    constraint_name IN (
        SELECT constraint_name 
        FROM all_constraints 
        WHERE constraint_type = 'P'
    )
ORDER BY 
    owner, table_name, position;
  • owner:表所属的数据库用户
  • table_name:主键所在的表
  • constraint_name:主键约束的名称
  • column_name:主键对应的列(如果是复合主键,会按position顺序列出多个行)

2. 查询外键约束及关联关系

这个语句能帮你理清外键是如何关联到父表主键的,直接拿到ERD需要的关联逻辑:

SELECT 
    c.owner AS child_table_owner,
    c.table_name AS child_table,
    cc.column_name AS foreign_key_column,
    c.constraint_name AS fk_constraint_name,
    p.owner AS parent_table_owner,
    p.table_name AS parent_table,
    pc.column_name AS primary_key_column,
    p.constraint_name AS pk_constraint_name
FROM 
    all_constraints c
JOIN all_cons_columns cc 
    ON c.owner = cc.owner 
    AND c.constraint_name = cc.constraint_name
JOIN all_constraints p 
    ON c.r_owner = p.owner 
    AND c.r_constraint_name = p.constraint_name
JOIN all_cons_columns pc 
    ON p.owner = pc.owner 
    AND p.constraint_name = pc.constraint_name
WHERE 
    c.constraint_type = 'R'
ORDER BY 
    c.owner, c.table_name, cc.position;

这里的字段一目了然:child_table是包含外键的表,parent_table是被关联的主键表,foreign_key_column和primary_key_column就是对应的关联列。

3. 筛选特定用户或表的约束

如果你只关心当前登录用户的表,可以在查询里加个过滤条件:

-- 只查当前用户的主键
SELECT 
    table_name,
    constraint_name,
    column_name
FROM 
    user_cons_columns
WHERE 
    constraint_name IN (
        SELECT constraint_name 
        FROM user_constraints 
        WHERE constraint_type = 'P'
    )
ORDER BY 
    table_name, position;

要是想聚焦某一张表,直接加AND table_name = 'YOUR_TABLE_NAME'就行(注意Oracle的表名默认是大写,所以要匹配大小写或者用双引号包裹)。

这些查询能帮你一次性获取所有需要的约束信息,不用再逐个表去翻啦,直接把结果整理一下就能用来画ERD了~

内容的提问来源于stack exchange,提问作者Maaz Mikail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:28:40