2009-10-30 105 views
30

我使用Oracle时唯一没有自动化工具的是一个可以创建INSERT INTO脚本的程序。为Oracle生成sql插入

我不需要它,所以我不会花钱在它上面。我只是想知道是否有什么可以用来生成INSERT INTO脚本给现有的数据库没有花费很多钱。

我已经通过Oracle搜索,没有找到这样的功能。

它存在于PL/SQL Developer中,但BLOB字段存在错误。

+1

你不能使用SQL * Loader吗? (我知道,这是一个有点更多的努力才能完成设置,但至少你可以创建一个“皮肤”的每个表,然后倾倒内容到您的文件) – davek 2009-10-30 11:10:21

回答

0

如果您必须定期将大量数据加载到表中,请检查SQL Loader或外部表。应该比单个插入快得多。

-2

您还可以使用MyGeneration(免费工具)编写自己的sql生成的脚本。包含在MyGeneration中的SQL Server有一个“insert into”脚本,可以很容易地将其更改为在Oracle下运行。

31

Oracle的免费SQL Developer将做到这一点:

http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html

你只要找到它的表格,单击鼠标右键,然后选择导出数据 - >插入

这会给你一个文件你的插入语句。您也可以使用SQL Loader格式导出数据。

+7

同样,你可以试着运行(与F5)的的性感版以上在Sql Developer中:SELECT/* insert */* FROM your_table; – gerodim 2015-12-07 13:16:49

1

你可能会在数据库中执行是这样的:

select "insert into targettable(field1, field2, ...) values(" || field1 || ", " || field2 || ... || ");" 
from targettable; 

一些更复杂的是here

-1
  1. 左键单击左窗格中的表下的表名。
  2. 单击数据选项卡。在这里你会看到标签内的数据。
  3. 选择您需要创建插入查询的数据。
  4. 右键点击数据,然后点击导出。
  5. 选择格式为“插入”
  6. 等待几秒钟,你的sql脚本就绪。
1

我一直在寻找解决方案,并今天找到它。这是你如何做到的。

  1. 开放的Oracle SQL Developer查询生成器

  2. 运行查询

  3. 对结果集和出口

    http://i.stack.imgur.com/lJp9P.png

+0

虽然这个工作,它会强制执行两次查询。第一次在屏幕上显示结果时,再将它导出到文件中。小桌子不错,但对大桌子很糟糕。 – 2017-04-12 17:53:07

1

右键单击如果你有一个空表导出方法将不起作用。作为解决方法。我使用了Oracle SQL Developer的表格视图。并点击列。由Nullable排序,所以NO排在最前面。然后使用shift + select范围选择这些非空值。

这使我可以做一个基地插入。这样Export可以准备一个适当的所有列插入。

15

你可以在PL/SQL Developer v10中做到这一点。
1.单击您想为其生成脚本的表格。
2.单击导出数据。
3.检查是否选择了要为其导出数据的表格。
4.单击SQL插入选项卡。
5.如果您不需要整个表格,请添加where子句。
6.选择你将找到你的SQL脚本的文件。
7.单击导出。
enter image description here

4

使用此:

用法:

select fn_gen_inserts('select * from tablename', 'p_new_owner_name', 'p_new_table_name') 
from dual; 

其中:

p_sql   – dynamic query which will be used to export metadata rows 
p_new_owner_name – owner name which will be used for generated INSERT 
p_new_table_name – table name which will be used for generated INSERT 

p_sql此示例中是

'从表名SELECT *' 你可以找到原始的源代码在这里:

Here is another script有类似的想法,产生单独使用的刀片而不是SQL块,但支持更少的数据类型。

+0

请参阅[如何提供个性化的开源库?](// meta.stackexchange.com/q/229085)和**使其明确的,这是你自己的项目**。 – robinCTS 2017-12-31 01:09:50