oracle查询指定外键的名,Oracle通过外键名查询表名

当尝试删除数据库表记录遇到外键约束错误时,可以使用SQL查询来定位外键所在表。例如,错误'ORA-02291'和'ORA-02292'提示了外键约束问题。通过查询`dba_constraints`表,可以找到相关外键约束并确定受影响的表。为解决这类问题,通常需要先删除子表记录或者解除外键约束,然后再进行删除操作。
摘要由CSDN通过智能技术生成

有时候删除某张表记录的时候,会报错外键约束不能删除。

如果不了解表之间的关系,可以通过以下语句查询到外键是建在哪张表上的:select * from dba_constraints where constraint_name='xxx' and constraint_type = 'R';

例如:我的程序日志中报如下错误,我要知道外键是在那个表上.2015-09-08 18:28:18 [ main:261597003 ] - [ ERROR ] java.sql.SQLException: ORA-02291: 违反完整约束条件 (IRP.FK66EC57AF5158B9FB) - 未找到父项关键字select * from dba_constraints where constraint_name='FK66EC57AF5158B9FB' and constraint_type = 'R';

例如:执行delete from tablename时报错:ORA-02292: integrity constraint (CCSYS.FK_T_BME_TASKRUNRESULT_TASKID) violated - child record found

可以通过执行select table_name from dba_constraints where constraint_name='FK_T_BME_TASKRUNRESULT_TASKID' and  constraint_type = 'R';

查询出外键是建在T_BME_TASKRUNRESULT表上的,先把T_BME_TASKRUNRESULT表删除,就可以删除 t_bme_task表记录了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值