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';
相关推荐
2601_967980114 分钟前
“小程序·云开发”上线 助力开发者的高效利器
数据库·存储管理·小程序云开发·云函数·开发者工具
zhangjw3412 分钟前
1-9 SELECT 查询基础:where、group by、having、order by、limit offset
数据库·postgresql·pg数据库
唐老板31 分钟前
Postgres 慢查询,先取证再动手
数据库·ai编程
笃行3507 小时前
数据库性能优化的五处内核改造,KingbaseES 配了四件诊断工具
数据库
非优秀程序员9 小时前
第02章 杭电的英语老师与一台服务器|《互联网产品恩仇录》
数据库·node.js·代码规范
SelectDB14 小时前
SelectDB 是哪个公司的?是国产数据库吗?一篇讲清飞轮科技与 Apache Doris 的关系
数据库
这个DBA有点耶14 小时前
库内计算推理:一条SQL背后的算子融合,和外挂方案差了几次网络往返
数据库·人工智能·sql
这个DBA有点耶16 小时前
函数索引的“完全一致”有多苛刻:写法、字符集、类型,差一处就失效
数据库·mysql·代码规范
星恒随风16 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
Alluxio17 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型