Ответ 1
Сначала прочтите эту статью Microsoft. Прочитайте меня. Я использую графический интерфейс во время проектирования, так что вот пример того, как он выбран в SSMS.
Синтаксис, добавленный к внешнему ключу, "ON DELETE CASCADE"
У меня есть таблица, представляющая пользователей. Когда пользователь удаляется, я получаю:
Операция DELETE противоречит ограничению REFERENCE
По-видимому, CASCADE DELETE
не так прост, как я себе представлял в SQL Server, и этот параметр нужно добавить в таблицу.
Проблема заключается в следующем: я не могу понять, как добавить параметр CASCADE DELETE
.
Я использую: SQL Server 2008. Любые идеи, как это сделать?
Сначала прочтите эту статью Microsoft. Прочитайте меня. Я использую графический интерфейс во время проектирования, так что вот пример того, как он выбран в SSMS.
Синтаксис, добавленный к внешнему ключу, "ON DELETE CASCADE"
Google ALTER TABLE DROP CONSTRAINT
, затем ALTER TABLE ADD CONSTRAINT
:
Вот пример:
CREATE TABLE A
(
ID INTEGER NOT NULL UNIQUE
);
CREATE TABLE B
(
ID INTEGER NOT NULL UNIQUE
CONSTRAINT fk__B__A
REFERENCES A (ID)
);
-- Oops! Forgot the CASCADE referential actions.
-- DROP the constraint then recreate it:
ALTER TABLE B DROP
CONSTRAINT fk__B__A;
ALTER TABLE B ADD
CONSTRAINT fk__B__A
FOREIGN KEY (ID)
REFERENCES A (ID)
ON DELETE CASCADE
ON UPDATE CASCADE;
Здесь я хотел бы добавить функцию "каскадного удаления" к внешнему ключу существующего в SQL Server Management Studio.
Сначала найдите внешний ключ и откройте его "DROP и CREATE To" в новом окне запроса.
Затем просто добавьте "ON DELETE CASCADE
" в команду "ADD CONSTRAINT
":
Затем просто нажмите кнопку "Выполнить", чтобы запустить запрос.
Задание выполнено!