Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 插入的最佳方式_Oracle_Oracle10g_Sql Loader - Fatal编程技术网

Oracle 插入的最佳方式

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中是否有更好的实现方法?我可

插入表格的最佳方式是什么。我必须批量插入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中是否有更好的实现方法?我可以在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语句的可执行文件中的密码?或者使用操作系统验证的帐户。或者使用钱包。或者,如果你不太安全,只需将密码存储在你没有权限查看的文件中。