2017-02-10 2 views
0

У меня есть таблица, которая использует последовательность, а также имеет определенный на ней индекс. Ошибка указана в индексе, и я не могу найти какие-либо повторяющиеся значения в моей таблице для комбинации пяти столбцов, на которых определяется индекс. Я попытался следующие вещи:Oracle Уникальное ограничение нарушено ORA-00001 без повторяющихся значений

  1. Я тщательно проверил дублированных значений, для которых индекс нарушается
  2. Match максимальная (последовательность) со следующим значением последовательности, в.
  3. Восстановите индекс в случае, если он поврежден.
  4. В этой таблице также нет триггеров.

Все это на месте, но я все еще сталкиваюсь с ошибкой. Пожалуйста, помогите, что еще я могу попробовать!

+1

Какое действие вы пытаетесь сделать, когда получите эту ошибку? Создать индекс или вставить данные? –

+0

Я пытаюсь вставить данные, которые, когда я пытался добавить вручную, был успешно добавлен. Но я не могу сделать это для каждого значения, которое терпит неудачу, поскольку число довольно велико. – Shivanispv

+0

Возможно ли, что вы неправильно поняли, как работает последовательность, и что «следующее» значение сталкивается с одним из ваших элементов данных? В противном случае добавьте оператор create table (по крайней мере, биты, которые определяют индекс и связанные поля), на вопрос выше. Также расскажите, как вы берете данные и делаете вставку, поскольку проблема может быть буферизацией и т. Д. –

ответ

0

Похоже, вы пытаетесь вставить строку в таблицу с ключом e, который уже присутствует в таблице. Почему нет выбора в таблице, используя значения ключевых столбцов, которые вы пытаетесь вставить, и убедитесь, что это действительно так?

+0

Я пытался это сделать. В таблице нет значений, для которых происходит вставка (дающая уникальную ошибку нарушения ограничений) – Shivanispv

+0

@Shivanispv Можете ли вы поделиться точным кодом, который вы используете, что дает проблему, а также утверждение, которое работает? – BobC

+0

Извините, но мне не разрешено это делать, но могу вам сказать, что это простой запрос на вставку, который запускается службой Windows. Оператор, который работает, также является тем же самым запросом на вставку, который запускается вручную. – Shivanispv