Как добавить NOCHECK в MSSMS при добавлении отношений между двумя таблицами? - PullRequest
1 голос
/ 20 ноября 2011

Я пытаюсь добавить связь между двумя таблицами, но получаю сообщение об ошибке «Оператор ALTER TABLE конфликтует с ограничением FOREIGN KEY».

Это связано с тем, что в одной из таблиц есть данные, которые не соответствуют данным в другой таблице.

Я хочу добавить параметр NOCHECK, чтобы он не проверял точность данных. Как я могу сделать это с помощью MSSMS?

Пример:

BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.Column_Definition SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.Tabelform_Answers ADD CONSTRAINT
    FK_Tabelform_Answers_Column_Definition FOREIGN KEY
    (
    column_id
    ) REFERENCES dbo.Column_Definition
    (
    id
    ) ON UPDATE  NO ACTION 
     ON DELETE  NO ACTION 

GO
ALTER TABLE dbo.Tabelform_Answers SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

1 Ответ

1 голос
/ 20 ноября 2011

По вашему запросу:

ALTER TABLE dbo.Tabelform_Answers WITH NOCHECK
   ADD CONSTRAINT FK_Tabelform_Answers_Column_Definition
   FOREIGN KEY ( column_id )
   REFERENCES dbo.Column_Definition ( id )
   ON UPDATE NO ACTION
   ON DELETE NO ACTION

Ссылка на статью MSDN на ALTER TABLE

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