参考:http://blog.163.com/yvtong@126/blog/static/8753524720132223343722/

ORA-39083: Object type REF_CONSTRAINT:"TEST"."FK_AN_ID" failed to create with error:
ORA-02298: cannot validate (TEST.FK_AN_ID) - parent keys not found
Failing sql is:
ALTER TABLE "TEST"."ROWER_INFO" ADD CONSTRAINT "FK_AN_ID" FOREIGN KEY ("LOAN_ID") REFERENCES "TEST"."AN_REQUEST" ("ID") ENABLE

原因:

表ROWER_INFO里,有外键连接到另一个表AN_REQUEST的主键, 在表ROWER_INFO的外键列插入的值 在表AN_REQUEST的主键列找不到就不能插入。这往往由于表在不同的时间点导出,主表中有新的业务数据。

而此次利用数据泵导出TEST用户下的所有对象,导入到另一用户下,报错。原因是子表ROWER_INFO多了一行数据,造成创建外键约束失败

SQL> select * from "TEST"."ROWER_INFO" a where not exists ( select 1 from "TEST"."AN_REQUEST" b where b.ID=a.LOAN_ID);
125509 128043 D 0 Scott F 27-10月-78
SQL> delete from "TEST"."ROWER_INFO" a where not exists ( select 1 from "TEST"."AN_REQUEST" b where b.ID=a.LOAN_ID);
1 row deleted.
SQL> ALTER TABLE "TEST"."ROWER_INFO" ADD CONSTRAINT "FK_AN_ID" FOREIGN KEY ("LOAN_ID") REFERENCES "TEST"."AN_REQUEST" ("ID") ENABLE;
Table altered.

获取删除多余数据的SQL:

SELECT ' delete from '
||a.table_name
||' a where not exists ( select 1 from '
||c_pk.table_name
|| ' b where b.'
|| b.column_name
||'=a.'
||a.column_name
||');'
FROM user_cons_columns a
JOIN user_constraints c
ON a.constraint_name = c.constraint_name
JOIN user_constraints c_pk
ON c.r_constraint_name = c_pk.constraint_name
JOIN user_cons_columns b
ON c_pk.constraint_name = b.constraint_name
WHERE c.constraint_type = 'R'
AND a.table_name = '&Table_Name'
AND a.constraint_name ='&FK_NAME';

最新文章

  1. [WP8.1开发]RSA 使用BouncyCastle 公钥解密
  2. js键盘事件和焦点事件
  3. Sublime Text 解决中文乱码
  4. java的poi技术读取Excel[2003-2007,2010]
  5. 最新discuz模版制作7堂课让你精通discuz模版制作
  6. DomFlags - 给 DOM 添加书签,方便调试
  7. 基础学习day11--多线程一线程的创建,运行,同步和锁
  8. Vnc viewer与windows之间的复制粘贴
  9. C 语言学习 之搭建环境和熟悉命令
  10. 获取一个Jpanel的父容器有多难
  11. 压缩感知中的数学知识:稀疏、范数、符号arg min
  12. Alpha冲刺Day9
  13. 饮冰三年-人工智能-Python-19 Python网络编程
  14. OpenStack-Neutron-VPNaaS-代码
  15. redis scan删除key的方法封装
  16. tensorflow 迭代周期长,每个epoch时间变慢
  17. Day 4-10 logging模块
  18. 【实践练习一】Git以及Github的使用
  19. openvpn 批量生成用户脚本
  20. 错误“AxImp.exe”已退出,代码为 -1163019603【转载及个人看法】

热门文章

  1. linux安装JSONCPP
  2. 第五周总结&第三次实验报告
  3. RD Client、TeamViewer连接主机
  4. Python2中range 和xrange的区别??
  5. Python 数据分析中金融数据的来源库和简单操作
  6. C#根据出生日期和当前日期计算精确年龄
  7. 20191202IIS
  8. 初入vue.js(1)
  9. 谈谈CS英文论文写作
  10. JavaScript 的执行机制