Загрузка нескольких сцепленных CSV-файлов в Qracle с помощью SQLLDR - PullRequest
1 голос
/ 04 мая 2010

У меня есть дамп нескольких таблиц Postgresql в отдельном CSV-файле, который я хочу импортировать в базу данных Oracle с соответствующей схемой. Я нашел несколько сообщений о том, как распределить данные из одной таблицы CSV в несколько таблиц Oracle, но моя проблема заключается в нескольких разных таблицах CVS в одном файле.

Можно ли указать разделители таблиц или как-то пометить новые таблицы в управляющем файле SQLLDR, или мне нужно разделить файл вручную перед передачей его в SQLLDR?

1 Ответ

3 голосов
/ 04 мая 2010

Это зависит от ваших данных.Как определить, для какой таблицы предназначена строка?Если вы можете определить, какая таблица основана на данных в строке, то это довольно легко сделать с помощью WHEN.

LOAD DATA
  INFILE bunchotables.dat
INTO TABLE foo WHEN somecol = 'pick me, pick me' (
  ...column defs...
)
INTO TABLE bar WHEN somecol = 'leave me alone' (
  ... column defs
)

Если у вас есть какая-то строка заголовка, которая определяет целевую таблицу, тогда выпридется разделить его перед использованием другой утилитой.

...