Могу ли я создать именованное ограничение по умолчанию в операторе Добавить столбец на SQL Server?
-
04-10-2019 - |
Вопрос
В SQL Server у меня есть новый столбец на столе:
ALTER TABLE t_tableName
ADD newColumn NOT NULL
Это не удается, потому что я указываю не NULL без указания ограничения по умолчанию. Стол не должен иметь ограничение по умолчанию.
Чтобы обойти это, я мог бы создать таблицу с ограничением по умолчанию, а затем удалить его.
Однако, похоже, нет никаких способов указать, что ограничение по умолчанию должно быть названо как часть этого оператора, поэтому мой единственный способ избавиться от этого - иметь сохраненную процедуру, которая выглядит в Sys.default_Constraints стол.
Это немного грязно / verbose для операции, которая, вероятно, произойдет много. У кого-нибудь есть лучшие решения для этого?
Решение
Это должно работать:
ALTER TABLE t_tableName
ADD newColumn VARCHAR(50)
CONSTRAINT YourContraintName DEFAULT '' NOT NULL
Другие советы
ALTER TABLE t_tableName
ADD newColumn int NOT NULL
CONSTRAINT DF_defaultvalue DEFAULT (1)
Не связан с StackOverflow