Oracle 插入的最佳方式
插入表格的最佳方式是什么。我必须批量插入100000多条记录。我现在使用的方法是许多简单的插入Oracle 插入的最佳方式,oracle,oracle10g,sql-loader,Oracle,Oracle10g,Sql Loader,插入表格的最佳方式是什么。我必须批量插入100000多条记录。我现在使用的方法是许多简单的插入 insert into Table1 values ('1','2','3','4'); insert into Table1 values ('5','2','7','4'); insert into Table1 values ('9','1','3','4'); .............. .............. ......... commit; 在10g中是否有更好的实现方法?我可
insert into Table1 values ('1','2','3','4');
insert into Table1 values ('5','2','7','4');
insert into Table1 values ('9','1','3','4');
..............
..............
.........
commit;
在10g中是否有更好的实现方法?我可以在PL/SQL中这样做吗
我对Oracle非常陌生。因为您是从一个分隔文本文件开始的,所以应该去掉
sed
调用,只需使用将数据加载到数据库中即可(您也可以将文件复制到数据库服务器,然后使用语法非常相似的外部表)。您的控制文件可能最终与非常相似。对列的长度进行一些疯狂的猜测,控制文件将类似于
load data
infile '<<name of your data file>>
into table <<name of your table>>
fields terminated by '|'
(col1 char(5),
col2 char(7),
col3 char(9),
col4 char(11),
col5 char(13))
加载数据
因维
入席
以“|”结尾的字段
(col1字符(5),
col2字符(7),
col3半焦(9),
col4字符(11),
col5字符(13))
这一百万行来自哪里?大概,它们在某个平面文件中的某个地方,或者在某个其他数据库中的某个地方,对吗?@JustinCave:Yes..使用shell脚本创建一个.sql文件,其中包含平面文件中的insert语句,并执行与批处理相同的操作。平面文件将在Application Server中可用。因此,您的起点是一个包含数据的平面文件(带分隔符或固定宽度)?听起来像或,但我要上床睡觉了,以便其他人可以填补空白:-)。你能把你的文件的前几行贴出来让人们帮忙吗?@JustinCave:平面文件用|(pipe)分隔。我们正在unix中使用sed命令并创建insert语句。非常感谢您的建议,但我们在这里遇到了一个挑战。由于是生产,我们完全不能访问数据库。要使用Sql loader,我们需要提供用户名/密码。在当前场景中,我们正在创建的.sql文件作为批处理的一部分被加密密码的用户执行(我们有exe来执行.sql文件)。对于Sql loader,我认为我们必须明确给出用户名和密码:(@Kanna-我不确定我是否理解这个问题。你为什么不使用任何方法来加密包含INSERT语句的可执行文件中的密码?或者使用操作系统验证的帐户。或者使用钱包。或者,如果你不太安全,只需将密码存储在你没有权限查看的文件中。