Я использую SQL Server 2005.
Наше приложение почти никогда не удаляется, если оно не является логическим удалением, и поэтому нам не нужно каскадное удаление.
На самом деле, довольно приятно знать, что ограничения внешнего ключа дают нам некоторую защиту от случайного оператора удаления.
Однако очень редко мне нужно удалять таблицу верхнего уровня и все ее дочерние элементы. На данный момент я делаю это с несколькими операторами DELETE в порядке записи, и это становится очень большим, сложным и невозможным поддерживать в актуальном состоянии сценарий.
Мне интересно, есть ли способ автоматического включения каскадного удаления для всех внешних ключей в базе данных, выполнения удаления на высшем уровне и последующего их повторного включения?