Вставьте текстовый файл в Oracle с помощью массовой вставки

У меня есть текстовый файл place.file;

место.файл

  • Нью-Гемпшир
  • Нью-Джерси
  • Нью-Мексико
  • Невада
  • Нью-Йорк
  • Огайо
  • Оклахома ....

В этом файле 4000 географических названий. Я сопоставлю свою таблицу my_place в oracle и place.file . Итак, я хочу вставить файл place.file в Oracle. Может быть, мне следует использовать массовую вставку, как я могу сделать массовую вставку?


person user951487    schedule 13.10.2011    source источник
comment
4000 мест — это очень умеренный объем данных. Я не вижу необходимости использовать объемную вставку или тому подобное. Просто используйте обычные вставки.   -  person Codo    schedule 13.10.2011
comment
@Codo На самом деле я хочу научиться использовать массовую вставку. Я привел простой пример, может быть.   -  person user951487    schedule 13.10.2011


Ответы (2)


Нет упоминания о версии Oracle. (Чтобы получить наилучший ответ, всегда указывайте версию Oracle, выпуск Oracle, ОС и версию ОС.)

Тем не менее, вы должны исследовать использование внешней таблицы для этой цели. После того, как вы правильно настроите это, вы можете сделать:

insert into db_table select ... from external_table;

При желании вы можете использовать подсказку APPEND в операторе INSERT, чтобы использовать прямую загрузку. Кроме того, при желании вы можете установить атрибут NOLOGGING для таблицы, в которую вы загружаете данные, для лучшей производительности. Но подумайте о последствиях восстановления, прежде чем включать NOLOGGING.

Надеюсь, это поможет,

-Отметка

person Mark J. Bobak    schedule 13.10.2011
comment
Версия Oracle 10.06 ОС Windows7. - person user951487; 13.10.2011

Вы можете использовать загрузчик SQL от Oracle.

Синтаксис:

sqldr *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>]) 
person Benoit    schedule 13.10.2011
comment
Я бы также использовал загрузчик SQL. Но опять же, его вставка BULK, я думаю, отличается от обоих этих ответов. Хотя в этом случае это будет массовая вставка, которая будет работать медленнее. ;) - person Guru; 13.10.2011