У меня есть столбец с ограничением "ПО УМОЛЧАНИЮ". Я хотел бы создать script, который удаляет этот столбец.
Проблема заключается в том, что она возвращает эту ошибку:
Msg 5074, Level 16, State 1, Line 1
The object 'DF__PeriodSce__IsClo__4BCC3ABA' is dependent on column 'IsClosed'.
Msg 4922, Level 16, State 9, Line 1
ALTER TABLE DROP COLUMN IsClosed failed because one or more objects access this column.
Я не мог найти простой способ удалить столбец и все связанные с ним ограничения (только найденные большие скрипты, которые смотрят в системную таблицу... там ДОЛЖНЫ (!!) быть "хорошим" способом сделать это. )
И поскольку имя ограничения DEFAULT было случайно сгенерировано, я не могу отказаться от него по имени.
Обновить:
Тип ограничения - "ПО УМОЛЧАНИЮ".
Я видел решения, которые вы все предлагали, но я нахожу их всех действительно "грязными"... Разве вы не думаете? Я не знаю, с Oracle или MySQL, но можно сделать что-то вроде:
DROP COLUMN xxx CASCADE CONSTRAINTS
И он устраняет все связанные ограничения... Или, по крайней мере, он автоматически удаляет ограничения, сопоставленные этому столбцу (по крайней мере, ограничения CHECK!)
В MSSQL ничего подобного нет?