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


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

Параметр для отключения ограничения внешнего ключа во время выполнения транзакций INSERT и UPDATE следует выбрать в том случае, если известно, что новые данные будут нарушать это ограничение или если ограничение должно применяться только для тех данных, которые уже занесены в базу данных.

Примечание

Новая версия конструктора таблиц отображается для баз данных в формате SQL Server 2012. В этом разделе описывается старая версия конструктора таблиц, которая используется с базами данных в более ранних форматах SQL Server.

В новой версии определение таблицы можно изменить через графический интерфейс или непосредственно в области скриптов. Если вы используется графический интерфейс, определение таблицы автоматически обновляется в области скриптов. Чтобы применить код SQL в области скриптов, нажмите кнопку Обновить. Дополнительные сведения о новой версии см. в разделе Как создавать объекты базы данных с помощью конструктора таблиц.

Примечание

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio.

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

  1. В обозревателе сервера выберите таблицу с ограничением, а затем в меню База данных выберите пункт Открыть определение таблицы.

    Таблица откроется в конструкторе таблиц.

  2. В меню конструктора таблиц выберите пункт Связи.

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

  4. В сетке выберите параметр Правило удаления или Правило обновления, а затем выберите действие в раскрывающемся списке, расположенном слева от свойства.

    • Без действия — сообщение об ошибке информирует пользователя, что удаление недопустимо, выполнение инструкции DELETE откатывается.

    • Каскад — удаляются все строки, содержащие данные, которые участвуют в связи внешнего ключа.

    • Задать Null — будет задано значение NULL, если все столбцы внешнего ключа в таблице могут содержать значения NULL. Относится только к SQL Server 2005.

    • Задать значение по умолчанию — будет задано значение по умолчанию, определенное для данного столбца, если все столбцы внешних ключей в таблице имеют значения по умолчанию. Относится только к SQL Server 2005.

Примечание

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

См. также

Ссылки

Диалоговое окно "Связи по внешним ключам"

Другие ресурсы

Общие сведения о работе с ограничениями

Общие сведения о работе со связями