Поделиться через


Отключение ограничений внешнего ключа для инструкций INSERT и UPDATE

В SQL Server 2012 ограничение внешнего ключа можно отключить в транзакциях INSERT и UPDATE с помощью Среда SQL Server Management Studio или Transact-SQL. Используйте эту возможность, если известно, что новые данные будут нарушать существующее ограничение, или если ограничение относится только к данным, уже помещенным в базу данных.

В этом разделе

  • Перед началом работы выполните следующие действия.

    Ограничения

    Безопасность

  • Отключение ограничений внешнего ключа для инструкций INSERT и UPDATE с использованием следующих средств:

    Среда SQL Server Management Studio

    Transact-SQL

Перед началом

Ограничения

После отключения этих ограничений будущие вставки и обновления столбца не проверяются по проверочным ограничениям.

Безопасность

Разрешения

Требуется разрешение ALTER на таблицу.

Значок стрелки, используемый со ссылкой «В начало»[Top]

Использование среды SQL Server Management Studio

Отключение ограничений внешнего ключа для инструкций INSERT и UPDATE

  1. Разверните в обозревателе объектов таблицу с ограничением, затем разверните папку Ключи.

  2. Щелкните правой кнопкой мыши ограничение и выберите команду Изменить.

  3. В сетке под конструктором таблиц щелкните пункт Принудительное использование ограничения внешнего ключа и выберите значение Нет в раскрывающемся списке.

  4. Щелкните Закрыть.

Значок стрелки, используемый со ссылкой «В начало»[Top]

Использование Transact-SQL

Отключение ограничений внешнего ключа для инструкций INSERT и UPDATE

  1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующие примеры в окно запроса и нажмите кнопку Выполнить.

    USE AdventureWorks2012;
    GO
    ALTER TABLE Purchasing.PurchaseOrderHeader
    NOCHECK CONSTRAINT FK_PurchaseOrderHeader_Employee_EmployeeID;
    GO
    

Дополнительные сведения см. в разделе ALTER TABLE (Transact-SQL).

Значок стрелки, используемый со ссылкой «В начало»[Top]