При удалении или обновлении связанных данных через ограничения внешнего ключа можно выполнять различные действия, которые определяются с помощью выражений ON DELETE и ON UPDATE. 12
Некоторые возможные опции:
- CASCADE. 12 Автоматически удаляет или изменяет строки из зависимой таблицы при удалении или изменении связанных строк в главной таблице. 1
- SET NULL. 13 При удалении или обновлении связанной строки из главной таблицы устанавливает для столбца внешнего ключа значение NULL. 1 Для выполнения этого действия столбцы внешнего ключа должны допускать значение NULL. 34
- SET DEFAULT. 13 При удалении связанной строки из главной таблицы устанавливает для столбца внешнего ключа значение по умолчанию. 1 Для выполнения этого действия все внешние ключевые столбцы должны иметь определения по умолчанию. 3
- RESTRICT. 12 Отклоняет удаление или изменение строк в главной таблице при наличии связанных строк в зависимой таблице. 1
- NO ACTION. 12 Аналогично RESTRICT в большинстве СУБД. 2
По умолчанию в SQL Server применяется опция NO ACTION, если явно не указано какое-либо действие. 4