Мне нужно добавить новый столбец в базу данных MS SQL 2005 с начальным значением. Однако я не хочу автоматически создавать ограничение по умолчанию для этого столбца. В тот момент, когда я добавляю столбец, значение по умолчанию/исходное значение верное, но со временем это может измениться. Таким образом, будущий доступ к таблице ДОЛЖЕН указать значение, а не принимать значение по умолчанию.
Лучшее, что я мог придумать, это:
ALTER TABLE tbl ADD col INTEGER NULL
UPDATE tbl SET col = 1
ALTER TABLE tbl ALTER COLUMN col INTEGER NOT NULL
Это кажется немного неэффективным для больших таблиц (от 100 000 до 1 000 000 записей).
Я экспериментировал с добавлением столбца по умолчанию и удалением ограничения по умолчанию. Тем не менее, я не знаю, что такое имя ограничения по умолчанию, и скорее не будет обращаться к sysobjects и помещать данные в базу данных.
Пожалуйста, должен быть лучший способ.