我有一个数据转储,然后我想将它导入到另一个数据库(Oracle 10g)。目标数据库已经有表(无数据)和一些外键约束。我将通过表导入数据以避免约束错误。如果有人知道更简单的方法,请教我? (Oracle的导入工具不具备自动识别表之间关系的功能,是不是?)ORACLE 10g:如何导入没有外键约束错误?
0
A
回答
1
假设您有模式级导出,源模式具有相同的外键约束,并且所有外键约束都是在同一模式的表之间,导入实用程序应自动处理外键约束。您不需要为此做任何事情(当然,当您执行导入时,您将不得不忽略错误,因为它会尝试创建表并获取它们已存在的错误)。
+0
在类似于11g XE的提问者的情况下,我将'imp ignore = Y touser = foo'用于预先存在的模式,并且它扼杀了FK限制。它按字母顺序处理表格,我没有看到它会自动照顾FKs?它似乎要做的就是最终启用它们,但如果它们已经存在,那不会有帮助。 – 2015-02-03 13:10:57
4
您可以禁用的外键第一:
begin
for cnst in (SELECT constraint_name, table_name FROM user_constraints WHERE constraint_type ='R') loop
execute immediate 'alter table '|| cnst.table_name||' disable constraint ' || cnst.constraint_name ;
end loop;
end;
加载数据做同样的,让他们回来后(只需更改alter table命令enable
而不是disable
但这是有风险,因为如果数据不符合您的约束 - 您将遇到问题...
相关问题
- 1. SQL错误外键约束
- 2. 外键约束错误
- 3. 外键约束错误1005
- 4. MySQL - 外键约束错误
- 5. 错误1215外键约束
- 6. TransactionScope中的父子插入导致外键约束错误
- 7. 外键约束 - DB不会导入。 - Magento
- 8. Magento导入外键约束失败
- 9. SQL错误:完整性约束违规:外键没有父母
- 10. 为什么我没有得到外键约束错误?
- 11. (错误:150“外键约束不正确”)
- 12. MySQL的添加外键约束错误
- 13. 外键约束的错误上创建
- 14. 错误“无法添加外键约束”
- 15. SQL外键约束错误1025(152)
- 16. MySQL外键约束错误代码1215
- 17. 错误添加外键约束
- 18. 外键约束错误地形成 - Laravel
- 19. 调试外键约束错误
- 20. Laravel - 外键约束错误地形成
- 21. MySQL错误代码1452外键约束
- 22. Laravel - 外键约束错误地形成?
- 23. SQL Server 2008外键约束错误
- 24. laravel外键约束错误地形成
- 25. 检查外键约束错误,而mysqli_report
- 26. 错误::一个外键约束失败
- 27. 参照表没有外键约束
- 28. 外键约束
- 29. 外键约束
- 30. 外键约束
如果(由于某种原因)您不想使用@JustinCave解决方案,则可以在user_constraints表上循环并禁用首先外键约束在导入数据后,再次启用它们。但是如果我是你,我不会这样做...... – 2012-02-29 16:41:04