多语言展示
当前在线:832今日阅读:150今日分享:23

oracle如何查看一个外键属于哪个表

Oracle是目前为止最好的一款数据库的一个软件,都会使用这个软件,那么我们在使用这个软件的时候,如何去查看一个外键属于哪个表呢,今天小编就和大家分享一下。
方法/步骤
1

很多时候我们需要删除一些表格,或者是一些数据的记录内容,但是系统软件又会给你报错说外键约束不能删除外检,那这种情况下该怎么办呢。

2

尤其是我们不了解几个表格之间的关系,又不敢胡乱的去删除,这时候我们可以通过下满的方式去查询这些外键分别在哪些表格上:select * from dba_constraints where constraint_name='xxx' and constraint_type = 'R';

3

举例说明:假如程序日志中报错误,我需要知道这个外键是在哪个表上.2015-09-08 18:28:18 [ main:261597003 ] - [ ERROR ] java.sql.SQLException: ORA-02291:

4

违反完整约束条件 :(IRP.FK66EC57AF5158B9FB) - 未找到父项关键字select * from dba_constraints where constraint_name='FK66EC57AF5158B9FB' and constraint_type = 'R';

5

再举例说明:我们在执行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';

6

这时候就能查询出外键是在T_BME_TASKRUNRESULT这张表格之上的,我们就可以先把T_BME_TASKRUNRESULT表删除,这样就可以再删除 t_bme_task表记录了。

推荐信息