3

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

4

9 回答 9

4

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

INSERT INTO table2 (columnA, columnB)
  SELECT columnA, columnB
    FROM table1;
于 2009-04-09T18:02:54.313 回答
3

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

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

于 2009-04-09T18:05:03.497 回答
3

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

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

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

是的,看看 Oracle sql developer。它的免费可以从 otn.oracle.com 下载

于 2009-04-09T17:29:41.303 回答
1

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

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

犯罪;

于 2009-04-16T19:36:05.960 回答
0

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

Select
    'Insert Into MyOtherTableTable Values(''' || MyMainTableColumn1 || ''' and ''' || MyMainTableColumn2 || ''')'
From MyMainTable
于 2009-04-16T19:51:25.160 回答
0

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

于 2013-12-18T11:49:28.280 回答
0

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

干杯

于 2015-02-10T15:04:30.097 回答
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;
于 2015-08-07T12:43:07.367 回答