【问题标题】:Generate Insert statements for result set in Oracle在 Oracle 中为结果集生成插入语句
【发布时间】:2012-06-21 18:32:22
【问题描述】:

是否有用于为结果集生成插入语句的 oracle 工具?如果有什么不同,我正在使用 Oracle SQL 开发人员。

例如查询表select * from t1 where this = 'that'

Col1    Col2    Col3
a1      a2      a3
b1      b2      b3

我想将结果集导出到

INSERT INTO T1 (Col1, Col2, Col3) values ('a1', 'a2', 'a3');
INSERT INTO T1 (Col1, Col2, Col3) values ('b1', 'b2', 'b3');

【问题讨论】:

  • 您的问题有点含糊,但您是否研究过 SQL*Loader?
  • @couling 我更新了问题。
  • 现在我必须导出整个表并选择我想要的插入语句并将其发送给我的同事。表名和结构相同。我必须每天为多张桌子这样做。必须有更好的方法来创建选择性insert statements

标签: oracle oracle11g resultset


【解决方案1】:

在 SQL Developer 中运行您的查询。

在结果网格中,右键单击。选择导出...

出现一个弹出对话框,询问如何导出结果。默认为插入。您可以选择要保存到的文件,或复制到剪贴板,或各种其他选项。

这是在 SQL Developer 3.0.4 上。

【讨论】:

  • Pl/SQL Developer v12.0.7 除了转储文件之外没有提供任何此类选项。无法创建 INSERT 语句。
  • 它对我有用,至少 v13 和 v14。我很确定它在 v12 中也存在。
【解决方案2】:

通过导出,您可以执行以下操作:

exp userid=user/passwd tables=t1 query="""where this = 'that'"""

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    相关资源
    最近更新 更多