Как перепроверить ограничение первичного / внешнего ключа для данных, уже находящихся в таблице на сервере SQL? - PullRequest
4 голосов
/ 02 марта 2011

У меня есть таблица в SQL Server 2005 с внешним ключом, и она была отключена для загрузки огромных данных, а затем снова включена:

Пример:

alter table table1 nocheck constraint fk_1
go
lots of inserts...
go
alter table table1 check constraint fk_1
go

Теперь вопрос: есть ли способ перепроверить только что вставленные данные?

1 Ответ

8 голосов
/ 02 марта 2011

Синтаксис выглядит немного глупо с повторением слова «проверка», но вы хотите:

alter table table1 with check check constraint fk_1
go

Добавление опции «с проверкой» проверит существующие данные на соответствие ограничению. Это также предотвратит недопущение ограничения .

.

Если какие-либо существующие данные нарушают ограничение, вы получите ошибку, которая будет выглядеть следующим образом:

The ALTER TABLE statement conflicted with the CHECK constraint "fk_1".
...