如何在Oracle中找到指向一条记录的外键依赖项? [英] How to find foreign-key dependencies pointing to one record in Oracle?

查看:0
本文介绍了如何在Oracle中找到指向一条记录的外键依赖项?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个非常大的Oracle数据库,有许多表和数百万行。我需要删除其中的一个,但希望确保删除它不会破坏指向它作为外键记录的任何其他依赖行。有没有办法获得指向此行的所有其他记录的列表,或者至少是表模式?我知道我可以尝试自己删除它,然后捕获异常,但我不会自己运行脚本,需要它第一次干净地运行。

我可以随心所欲地使用Oracle的SQL Developer和AllRoundAutomations的PL/SQL Developer。

提前谢谢!

推荐答案

我总是查看开始表的外键,然后返回。数据库工具通常有一个依赖项或约束节点。我知道PL/SQL Developer有办法查看FK,但我已经有一段时间没有使用它了,所以我无法解释...

只需将XXXXXXXXXX替换为表名...

/* The following query lists all relationships */ 

select
 a.owner||'.'||a.table_name "Referenced Table"
,b.owner||'.'||b.table_name "Referenced by"
,b.constraint_name "Foreign Key"
from all_constraints a, all_constraints b 
where 
b.constraint_type = 'R'
and a.constraint_name = b.r_constraint_name 
and b.table_name='XXXXXXXXXXXX' -- Table name 
order by a.owner||'.'||a.table_name

这篇关于如何在Oracle中找到指向一条记录的外键依赖项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆