Мне нужно добавить новый столбец в базу данных 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 записей).
Я экспериментировал с добавлением столбца по умолчанию, а затем с удалением ограничения по умолчанию. Тем не менее, я не знаю, как называется ограничение по умолчанию, и не хотел бы обращаться к системным объектам и помещать в базу данных специфические знания.
Пожалуйста, должен быть лучший способ.