Есть ли способ создать оператор каскадного удаления? - PullRequest
0 голосов
/ 27 августа 2011

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

Я на MSSql server2008

1 Ответ

6 голосов
/ 27 августа 2011

При настройке отношений внешнего ключа можно добавить ON DELETE CASCADE.

Ограничения каскадной ссылочной целостности MSDN

ON DELETE CASCADE

Specifies that if an attempt is made to delete a row with a key referenced by foreign 
keys in existing rows in other tables, all rows containing those foreign keys are also 
deleted. If cascading referential actions have also been defined on the target tables, 
the specified cascading actions are also taken for the rows deleted from those tables.

ТАКрешение, при котором вы не добавляете его в таблицу:

В SQL Server 2005 можно ли выполнять каскадное удаление без установки свойства для моих таблиц?

...