如何在 oracle 11g 中使用 exp 命令将表行导出为插入格式?

Posted

技术标签:

【中文标题】如何在 oracle 11g 中使用 exp 命令将表行导出为插入格式?【英文标题】:How can I export table row as insert into format with exp command in oracle 11g? 【发布时间】:2017-08-25 11:52:32 【问题描述】:

exp usr/pss@db file=db.dmp full=y ,这将创建 db.dmp 备份文件。

exp scott/tiger TABLES=emp QUERY=\"WHERE job=\'SALESMAN\' and sal \<1600\"

这个创建备份为 EXPDAT.DMP。

https://docs.oracle.com/cd/B28359_01/server.111/b28319/exp_imp.htm#i1005842

如何在 oracle 11g 中使用 exp 命令将表格行导出为插入格式?我想要类似 expdat.sql 的东西

insert into table(c1,c2,c3) values(1,2,3)

【问题讨论】:

【参考方案1】:

你不能。 EXP 实用程序设计用于移动模式和整个数据库。它的文件格式针对通过 IMP 实用程序加载大量数据进行了优化。数据泵也是如此。

逐行插入对于此类任务来说不是最佳的。这就是为什么EXP没有选项的原因。如果您确实需要插入脚本,您可以使用数据字典自己生成它们。但是使用 PL/SQL Developer 之类的 IDE 会更容易,它支持以 INSERT 语句的形式导出表的数据。

【讨论】:

【参考方案2】:

如果您的目标是获取表的插入语句,那么这里已经回答了这个问题。

Generating sql insert into for Oracle

【讨论】:

以上是关于如何在 oracle 11g 中使用 exp 命令将表行导出为插入格式?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决Oracle11g使用dmp命令无法导出空表问题

oracle 11G 用exp 怎么样并发导出70G数据

EXPDP/IMPDP

win7 安装Oracle10g,使用exp工具导出Oracle11g用户所有数据,报错信息提示EXP-00056: ORACLE-12154

Oracle11g在使用exp导出时不导出空表问题的解决办法

Oracle 11g用exp无法导出空表的处理方法