Oracle外键查询

Oracle外键查询

有时候我们维护数据库需要知道某个表的字段被哪些表的外键关联了,可以用下面的sql语句进行查询:

sql 复制代码
SELECT
    uc.table_name AS "引用表名",
    uc.constraint_name AS "外键约束名",
    ucc.column_name AS "外键字段"
FROM
    user_constraints uc
JOIN
    user_cons_columns ucc
    ON uc.constraint_name = ucc.constraint_name
WHERE
    uc.constraint_type = 'R'
    AND uc.r_constraint_name IN (
        SELECT constraint_name
        FROM user_constraints
        WHERE table_name = 'SM_USER'
        AND constraint_type IN ('P', 'U')  -- 主键或唯一约束
    )
ORDER BY
    uc.table_name;

还有可能需要查询外键在哪个表:

sql 复制代码
SELECT table_name
FROM all_constraints
WHERE constraint_name = '外键名称'
AND constraint_type = 'R';
相关推荐
zone7_9 分钟前
008-01:RAG 入门-向量存储与企业级向量数据库 milvus
数据库·milvus
iMingzhen14 分钟前
不想引入 Redis,我用一张 SQLite 表实现了消息队列
数据库·redis·ai·sqlite
冷小鱼15 分钟前
Milvus 向量数据库完全指南:开源架构与生产级部署实战
数据库·开源·milvus
Curvatureflight20 分钟前
Redis实战:缓存设计与高频场景全解析
数据库·redis·缓存
1688red22 分钟前
基于Canal实现MySQL到Elasticsearch的数据同步
数据库·mysql·elasticsearch
m0_7505803022 分钟前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
稻草猫.24 分钟前
MyBatis进阶:动态SQL与MyBatis Generator插件使用
java·数据库·后端·spring·mvc·mybatis
华农DrLai26 分钟前
什么是Prompt模板?为什么标准化的格式能提高稳定性?
数据库·人工智能·gpt·nlp·prompt
2301_8194143032 分钟前
Python入门:从零到一的第一个程序
jvm·数据库·python
熬夜的咕噜猫35 分钟前
Nginx 安全防护与 HTTPS 部署实战
网络·数据库