我需要插入作为接口文件(文本文件)的大型记录。 现在我正在使用这种格式来插入记录。
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不支持这种类型的插入。请帮我。我坚持这个。我需要使用另一个解决方案,这应该更快....
答案 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