我有一个place.file文本文件;
place.file
此文件中有4000个地名。我将在oracle和place.file中匹配my_place表。所以我想将place.file插入Oracle。也许我应该使用批量插入,我该如何进行批量插入?
答案 0 :(得分:4)
您可以使用Oracle的SQL Loader。
语法为:
sqlldr * connection_string * control = * control_file.ctl *
控制文件包含:
LOAD DATA
INFILE names.file
INTO TABLE <table_name>
FIELDS TERMINATED BY <delimiter>
OPTIONALLY ENCLOSED BY <enclosing character>
(<column_name>[, <column_name>, <column_name>])
答案 1 :(得分:2)
没有提到Oracle版本。 (为了获得最佳答案,始终包括Oracle版本,Oracle版本,操作系统和操作系统版本。)
但是,您应该调查使用外部表来实现此目的。正确设置后,您可以执行以下操作:
insert into db_table select ... from external_table;
或者,您可以使用APPEND
语句上的INSERT
提示来使用直接加载。
此外,您可以选择在要加载数据的表上设置NOLOGGING
属性,以获得最佳性能。但是,在启用NOLOGGING
之前,请考虑恢复问题。
希望有所帮助,
-Mark