在oracle中批量插入

时间:2015-09-16 13:25:54

标签: oracle db2 bulkinsert

我需要插入作为接口文件(文本文件)的大型记录。 现在我正在使用这种格式来插入记录。

INSERT ALL
  INTO POSTAL_CODE( postal_code,desc)
    VALUES('100','Coimbatore')
  INTO POSTAL_CODE (postal_code,desc)
    VALUES('101','Mumbai') SELECT * FROM DUAL;

但这会带来糟糕的表现。我是数据库新手。所以请帮我快速插入记录。但在db2中,这种格式是支持。

INSERT INTO POSTAL_CODE( postal_code,desc)
    VALUES('100','Coimbatore'), (postal_code,desc),('101','Mumbai');

但是为什么oracle不支持这种类型的插入。请帮我。我坚持这个。我需要使用另一个解决方案,这应该更快....

1 个答案:

答案 0 :(得分:1)

您可以更改以下声明

INSERT INTO POSTAL_CODE( postal_code,desc) VALUES('100','Coimbatore'),
(postal_code,desc),('101','Mumbai');

如下所示使用UNION Oracle以及

INSERT INTO POSTAL_CODE( postal_code,"desc") 
select '100','Coimbatore' from dual
union all
select '99','Goa' from dual
union all
select '101','Mumbai' from dual;

您应该检查Oracle为此目的提供的实用程序,例如SQL*Loader

同时查看其他SO帖子Loading data from a text file to a table in oracle