将查询结果导出到一组 INSERT 语句?

Posted

技术标签:

【中文标题】将查询结果导出到一组 INSERT 语句?【英文标题】:Export results of a query to a set of INSERT statements? 【发布时间】:2012-05-31 11:24:27 【问题描述】:

在 Oracle 中,我需要使用 SELECT 语句的结果生成一组 INSERT 语句。基本上与 Toad for Oracle 将表的内容导出到文件或剪贴板上的一组插入语句的方式相同。这可能吗?

原因是我的一些几何数据是 WGS84 格式,当我访问它时它需要是英国国家网格。这在 Oracle 中不是问题,因为我可以简单地使用 SDO_CS.Transform(date, srid) 但是在 SQL Server 中这是不可能的。我的意图是在 Toad 中生成 INSERTS,然后它们在 SQL Server 上运行它们,以便使用预先转换的数据填充几何列。这意味着在 SELECT 期间在 Oracle 中应用转换。

【问题讨论】:

Toad 可以生成 INSERT 语句,它似乎适合您。那么问题是什么?您究竟在哪里需要帮助? 在 Toad 中,您无法修改通过导出工具生成 INSERTS 的 SELECT 语句。或者,如果您可以,我不知道查询出现的窗口如何不允许我进行编辑。数据位于 Toad/Oracle 表中的 WGS84 中,我需要在将其放入 INSERT 语句时将其转换为 BNG。我的问题真的是,如果我编写一个 SELECT 语句,它返回表的内容但转换了相关的列,那么是否可以像导出工具一样使用查询的输出来生成 INSERT 语句? 我不太明白您是如何尝试从 TOAD 导出数据的。但它应该如下工作: 1) 在 TOAD 编辑器窗口中运行 SELECT 语句。 2) 在显示结果的数据网格中按鼠标右键,然后选择“导出数据集...”。 3) 从第一个下拉菜单中选择“插入语句”。 4) 点击确定。 感谢您提出这个问题 【参考方案1】:

我不太明白您是如何尝试从 TOAD 导出数据的。但它应该如下工作:

    在 TOAD 编辑器窗口中运行 SELECT 语句。 在显示结果的数据网格中按鼠标右键,然后选择“导出数据集...”。 从第一个下拉菜单中选择“插入语句”。 点击确定。

【讨论】:

谢谢。我不知道 Toad 允许从显示查询结果的数据网格窗口中执行此操作。

以上是关于将查询结果导出到一组 INSERT 语句?的主要内容,如果未能解决你的问题,请参考以下文章

navicat导出insert语句能限制字段嘛

将SQL查询分析器查询的结果用SQL语句导出到Excel表格的语句怎么写?

Navicat for Mysql查询结果导出无表名

MySQLMySQL 如何最快的复制一张表?

MySQL(十四)—— 表的一些操作

SQL Sever将SQL Sever中的一个数据表的数据导出为insert语句