Ответ 1
Поскольку объект ссылается, вы не можете его изменить. Это то, что вы делаете:
- Удалить ограничение по умолчанию из таблицы/столбца
- Измените функцию
- Добавить ограничение по умолчанию назад
У нас проблема с плохо закодированной функцией SQL (которая отлично работает в реальном времени, но не в нашей тестовой среде). Эта функция используется для предоставления значения по умолчанию во многих таблицах. Попытка ALTER возвращает ошибку "Cannot ALTER ###, потому что на нее ссылается объект".
Есть ли способ обойти это сообщение об ошибке? Единственный способ, о котором я могу думать, - это попытаться написать скрипт, чтобы удалить его из каждой таблицы, в которой он используется по умолчанию, изменив функцию и добавив ее после.
Поскольку объект ссылается, вы не можете его изменить. Это то, что вы делаете:
SQL Server не позволит вам изменять функцию, связанную с ограничением DEFAULT для столбца.
Единственный вариант - удалить ограничение перед изменением функции. (Источник)