oracle删除互相关联的记录

今天遇到一个问题,在数据库中删除一条记录,但是在删除的时候报错了,报出该记录已经被其他子记录引用,想了好久不知道怎么做,后来发现报错提示信息中会提示删除该记录时影响了那个约束条件,于是思路出来了:

1、知道了约束名称,怎么知道这个约束是作用于哪张表、那个字段上的啊

2、找到了这张表,看看那个字段的约束用到了这个约束名

3、如果这条记录时无用的,那么引用这条记录的其他自己录也应该没用了

于是查找怎么根据约束名称找到相应的表、字段,那么下面这句SQL就能根据约束名找到相应的表:

 SELECT * FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME = 'PK_MEDIA' ; 

查询出来的记录集如下图:

oracle删除互相关联的记录

这样我们就找到了这张表,通过查询字段就可以知道是哪个字段的约束了。

方法比较笨,如果有什么好的办法,留言吧。

如下图:

删除某记录时会报错:

oracle删除互相关联的记录

鼠标右击信息框的文字就可以进行复制,括号里面就是受影响的约束。

MIXCOALDB.FK2D61297D54D584B:MIXCOALDB-数据库名称,FK2D61297D54D584B-约束名称

上一篇:C语言 · 最小公倍数


下一篇:(一) 从零开始搭建Spark Standalone集群环境搭建