如何将数据导入oracle,当主键冲突时,用新数据覆盖旧数据

e3bfsja2  于 2022-11-22  发布在  Oracle
关注(0)|答案(1)|浏览(603)

如何将数据导入oracle,当主键冲突时,用新数据覆盖旧数据,只使用cmd行,使用imp或impdp,为什么oracle不提供覆盖选项
在命令行中尝试

k5hmc34c

k5hmc34c1#

如果你并不真正关心现有的数据(因为新插入的值应该替换现有的值),那么看看IMPDP的TABLE_EXISTS_ACTION是否有帮助,它可以被设置为SKIP | APPEND | TRUNCATE | REPLACE之一。我想你可能对truncatereplace选项感兴趣。
另一方面,如果目标表包含.dmp文件中不存在的数据,而您希望保留它,那么您肯定不想使用我前面建议的方法,因为您会丢失所有内容。
在这种情况下,impdp无法完成您想要的操作。您必须将数据导入临时表,然后编写SQL语句来完成您想要的操作-插入新行,更新现有行。
或者,将现有数据保存到临时表中,使用truncatereplace impdp选项,然后修复错误。

相关问题