2015-10-17 3 views
0

Я пытаюсь создать простую базу данных, в которой одна из таблиц имеет внешний ключ, который ссылается на другой столбец в этой таблице.Oracle sqlldr, когда таблица имеет собственный ссылочный внешний ключ

Я смог загрузить данные с помощью SQL * Loader (используя csv), прежде чем добавлять это ограничение, но как только я его добавлю, я не могу загрузить данные с помощью SQL * Loader (все строки будут отклонены).

Есть ли способ разрешить это? Я искал онлайн в течение нескольких часов, и я не нашел ничего конкретного. Я нашел примеры прямых нагрузок пути, но я не хочу предполагать, что на этом экземпляре оракула настроена прямая загрузка пути (обычная загрузка, которую я использую). Есть ли ряд шагов, которые я могу выполнить для успешной загрузки этих данных, или есть параметр, который я могу настроить для принудительной загрузки данных?

ответ

0

Это может быть быстрое решение проблемы. Напишите сценарий Unix/Bat, чтобы выполнить следующие функции:

  1. Предположим, что столбец1 является полем первичного ключа, а column2 является самонаводящимся полем внешнего ключа.
  2. Загрузите данные во временную таблицу без ограничений на самоопределение.
  3. Теперь вставьте в таблицу временную таблицу, но должны быть вставлены только отдельные значения столбца1. Столбец2 должен быть заполнен как нулевой в этом утверждении.
  4. Обновить все вставленные записи таблицы с помощью столбца самореференции2. Поскольку все отдельные значения уже введены, это не приведет к ошибке саморекламы.
Смежные вопросы