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';
相关推荐
2501_9481953420 小时前
RN for OpenHarmony英雄联盟助手App实战:主导航实现
数据库
Filotimo_20 小时前
N+1查询问题
数据库·oracle
fenglllle1 天前
spring-data-jpa saveall慢的原因
数据库·spring·hibernate
DarkAthena1 天前
【GaussDB】执行索引跳扫时如果遇到该索引正在执行autovacuum,可能会导致数据查询不到
数据库·gaussdb
短剑重铸之日1 天前
《7天学会Redis》Day 5 - Redis Cluster集群架构
数据库·redis·后端·缓存·架构·cluster
007php0071 天前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
lkbhua莱克瓦241 天前
进阶-存储过程3-存储函数
java·数据库·sql·mysql·数据库优化·视图
老邓计算机毕设1 天前
SSM心理健康系统84459(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·心理健康系统·在线咨询
碎像1 天前
10分钟搞定 MySQL 通过Binlog 数据备份和恢复
数据库·mysql