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';
相关推荐
蜡笔小炘13 分钟前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长17 分钟前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
Re.不晚1 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
老邓计算机毕设1 小时前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台
麦聪聊数据1 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
2301_790300961 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_736919102 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
亓才孓2 小时前
[JDBC]PreparedStatement替代Statement
java·数据库
m0_466525292 小时前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
爱学习的阿磊3 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python