是否有Oracle SQL工具从结果集构建插入语句?

时间:2009-04-09 17:23:17

标签: sql oracle insert resultset

是否有Oracle SQL工具从结果集构建插入语句?我们目前只允许使用名为SQL Station的工具。我想建议一个工具,比如Rapid SQL或CrazySQuirrell,或者构建我自己的可重用的sql块。

9 个答案:

答案 0 :(得分:4)

此结果集来自何处?如果您的意思是要执行SELECT,那么将结果数据插入到另一个表中,您可以在单个SQL语句中执行此操作:

INSERT INTO table2 (columnA, columnB)
  SELECT columnA, columnB
    FROM table1;

答案 1 :(得分:3)

PL / SQL Developer也会这样做。我已经使用了PL / SQL Developer以及Oracle的SQL Developer,在我看来PL / SQL Developer有一个更流畅,更一致的界面。不确定SQL Developer,但PL / SQL Dev。还允许您将结果集导出为CSV,XML和HTML。

如果您正在运行Linux,它在WINE下也可以正常运行。

答案 2 :(得分:3)

如果你想要命令行工具,免费的cx_OracleTools会做这个,还有其他一些好东西。

http://cx-oracletools.sourceforge.net/

  • CompileSource - 在文件中执行语句,检查错误
  • CopyData - 将数据从一个表或视图复制到另一个
  • DbDebugger - 允许简单调试PL / SQL
  • DescribeObject - 将对象描述为用于娱乐的SQL语句
  • DescribeSchema - 将多个对象描述为用于娱乐的SQL语句
  • DumpCSV - 将select语句的结果转储为逗号分隔值
  • DumpData - 将select语句的结果转储为插入语句
  • ExportColumn - 将数据从列转储到文件
  • ExportData - 将数据从数据库转储到可移动转储文件
  • ExportObjects - 将对象描述为文件中重新创建的SQL语句
  • ExportXML - 将表中的数据导出为简单的XML文件
  • GeneratePatch - 生成SQL脚本以从一组对象转到另一组
  • GenerateView - 为表生成视图语句
  • ImportColumn - 将文件内容导入数据库中的列
  • ImportData - 导入使用ExportData转储的数据
  • ImportXML - 从XML文件(例如由ExportXML创建的文件)导入数据
  • RebuildTable - 生成用于重建表的SQL脚本
  • RecompileSource - 重新编译数据库中的所有无效对象

答案 3 :(得分:1)

是的,请看Oracle sql developer.Its free可以从otn.oracle.com下载

答案 4 :(得分:1)

我找到了这个解决方案,这就是我现在正在使用的解决方案。感谢您的帮助。 事实证明我们也可以使用SQL +。出于某种原因,我无法在SQL Station中运行它。

COPY FROM userid / password @ from_DB TO userid / password> @to_DB INSERT toDB_tablename USING SELECT * FROM fromDB_tablename where ....;

提交;

答案 5 :(得分:0)

在紧要关头,使用字符串连接对于您要构建的较小语句非常有用:

Select
    'Insert Into MyOtherTableTable Values(''' || MyMainTableColumn1 || ''' and ''' || MyMainTableColumn2 || ''')'
From MyMainTable

答案 6 :(得分:0)

右键单击查询的结果集,您将弹出一个弹出窗口。选择导出数据并插入。它会询问您保存生成insert语句的文件的位置。给出文件名和保存它的路径。

答案 7 :(得分:0)

我知道为时已晚,但对某些人来说可能会有所帮助。 如果您转到表格,则可以“导出”数据。第二步是“指定数据”,您可以在其中添加一些过滤器。 这仅适用于表格数据。

干杯

答案 8 :(得分:0)

使用Oracle SQL-Developer类型并按脚本执行(F5):

select /*insert*/ 
  * from dual;

输出:

 Insert into "dual" (DUMMY) values ('X');

你也可以尝试/ * csv * /“或/ * html * /

来源:http://www.thatjeffsmith.com/archive/2012/05/formatting-query-results-to-csv-in-oracle-sql-developer/

SELECT /*csv*/ * FROM scott.emp;
SELECT /*xml*/ * FROM scott.emp;
SELECT /*html*/ * FROM scott.emp;
SELECT /*delimited*/ * FROM scott.emp;
SELECT /*insert*/ * FROM scott.emp;
SELECT /*loader*/ * FROM scott.emp;
SELECT /*fixed*/ * FROM scott.emp;
SELECT /*text*/ * FROM scott.emp;