如何在oracle中插入大量行?

时间:2013-11-14 06:56:35

标签: sql oracle bulk-load

有谁能告诉我如何在Oracle中插入大量行?

使用insert语句,我们可以将数据插入到表的行中。

            insert into example values(1,'name','address');

假设我要插入100,000行,是否需要按照上述步骤逐个插入?或者有没有其他方法一次插入大量的行?任何人都可以通过一个例子告诉我。

注意:这里我不是要求从另一个表复制数据..只考虑我们有一个包含1,00,000行的XL表,然后我们如何将它们插入到特定的表中。

谢谢,  西。

3 个答案:

答案 0 :(得分:1)

我怀疑你将它放在CSV文件中。

  1. 创建目录对象
  2. 创建外部表。您可以像常规表一样查询外部表,区别在于表中的数据来自位于目录对象中的文件。
  3. http://www.oracle-base.com/articles/9i/external-tables-9i.php

答案 1 :(得分:0)

将sqlldr与直接路径选项一起使用。

答案 2 :(得分:0)

如果您正在使用脚本中的单个插入语句进行加载,比如使用SQL * Plus,那么一个方便的加速就是将一组插入操作串联到匿名PL / SQL块中......

begin
  insert into example values(1,'name','address');
  insert into example values(1,'name','address');
  insert into example values(1,'name','address');
  ...
end;
/

begin
  insert into example values(1,'name','address');
  insert into example values(1,'name','address');
  insert into example values(1,'name','address');
  ...
end;
/

这极大地减少了客户端/服务器的聊天。

原始文件通常可以使用unix脚本或宏在文本编辑器中轻松修改。

不一定是你想要嵌入到制作过程中,而是偶然的工作。