在 Oracle 中为结果集生成插入语句
Posted
技术标签:
【中文标题】在 Oracle 中为结果集生成插入语句【英文标题】:Generate Insert statements for result set in 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
。
【参考方案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'"""
【讨论】:
以上是关于在 Oracle 中为结果集生成插入语句的主要内容,如果未能解决你的问题,请参考以下文章
ORACLE - 哪个更好地生成记录、视图、SP 或函数的大型结果集