Мне нужно изменить значение по умолчанию для столбца в существующей таблице.
Я предположил (и я нашел несколько примеров в сети, «подтверждающих» это), что я мог бы сделать
Таблица ALTER TABLE Столбец ALTER COLUMN SET DEFAULT 'что-то', но я получаю синтаксическую ошибку и в соответствии с этим http://msdn.microsoft.com/en-us/library/ms190273.aspx DEFAULT не поддерживается.
Следующая идея состояла в том, чтобы удалить ограничение по умолчанию из базы данных, но я обнаружил, что при создании таблицы ограничение не было названо, и SQL генерирует случайное имя при каждом развертывании, поэтому я не могу ссылаться на него по имени.
Я пришел с запросом из таблиц sys, который возвращает имя ограничения:
select o.name from sys.objects o
join sys.columns c on o.object_id = c.default_object_id
join sys.tables t on c.object_id = t.object_id
where t.name='TableName' and c.name='ColumnWithDefValue'
Я собираюсь написать запрос путем конкатенации строк, и я не могу перестать думать о том, как должен быть лучший способ сделать все это. Есть предложения?
TL; версия DR: какой самый простой способ изменить ограничение по умолчанию для столбца в SQL Server R2?
Спасибо