Предположим, что вы создаете уникальный индекс для столбцов: column1
и column2
в своей таблице dbo.tblhm
Это предполагает, что нет повторения любой комбинации значений column1, column2
в любых строках таблицы dbo.tblhm
В соответствии с вашей ошибкой следующая комбинация (45560, 44200)
значений для column1, column2
присутствует в более чем 1 строке и, следовательно, ограничение не выполняется.
Вам нужно сначала очистить данные с помощью оператора UPDATE, чтобы изменить значения column1 or column2
в строках, которые являются дубликатами, ДО того, как вы попытаетесь создать ограничение.
AFAIK, в Oracle у вас естьКлючевое слово "novalidate
", которое можно использовать для достижения цели без очистки существующих данных.Но, по крайней мере, я не знаю ни одного способа добиться этого в SQL Server без предварительной очистки данных