Вставьте текстовый файл в Oracle с помощью Bulk Insert - PullRequest
0 голосов
/ 13 октября 2011

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

place.file

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

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

Ответы [ 2 ]

4 голосов
/ 13 октября 2011

Вы можете использовать SQL Loader из Oracle.

Синтаксис:

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>]) 
2 голосов
/ 13 октября 2011

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

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

insert into db_table select ... from external_table;

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

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

-Марк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...