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_nam髫潋啜缅e='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表记录了。