1

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

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

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

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

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

谢谢,赛。

4

3 回答 3

1

如果您使用脚本中的单个插入语句进行加载,例如使用 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 脚本或宏轻松修改。

不一定是您想要嵌入到生产过程中的东西,但对于偶尔的工作来说很方便。

于 2013-11-14T09:24:17.187 回答
1

我怀疑您将其保存在 CSV 文件中。

  1. 创建目录对象
  2. 创建外部表。您可以像普通表一样查询外部表,不同之处在于表中的数据来自位于目录对象中的文件。

http://www.oracle-base.com/articles/9i/external-tables-9i.php

于 2013-11-14T09:16:01.870 回答
0

使用带有直接路径选项的 sqlldr。

于 2013-11-14T07:17:04.907 回答