Невозможно вставить повторяющуюся запись в таблицу - PullRequest
0 голосов
/ 14 января 2011

Я пытаюсь выполнить хранимую процедуру через SSIS, и она выдает мне следующую ошибку:

[Выполнить задачу SQL] Ошибка: выполняется запрос "Exec sp1?"не удалось выполнить следующую ошибку: «Процедура: sp1 Строка: 66 Сообщение: Невозможно вставить строку повторяющегося ключа в объект« table.sq1 »с уникальным индексом« UIX_sp1_Key ».».Возможные причины сбоя: проблемы с запросом, свойство ResultSet установлено неправильно, параметры установлены неправильно или подключение установлено неправильно.

На самом деле сохраненный Proc sp1 усекает и перезагружает данныев стол.Я не могу понять, где именно он пытается вставить повторяющуюся запись.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 14 января 2011

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

Изучите это, чтобы увидеть, что там есть. используйте Excel или Access или некоторые другие, если это необходимо, чтобы помочь. Или удалите уникальное ограничение, а затем запросите промежуточную таблицу с помощью совокупного запроса.

2 голосов
/ 14 января 2011

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

select keycol1 {,keycol2 {,keycol3} ...}, count(*)
from tablename
group by keycol1 {,keycol2 {,keycol3} ...}
having count(*) > 1

, которая покажет вам значения данных, которые являются дубликатами в ключевом столбце (столбцах).

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