Можно ли создать именованное ограничение по умолчанию в инструкции add column в SQL Server?



в SQL Server у меня есть новый столбец в таблице:



ALTER TABLE t_tableName 
ADD newColumn NOT NULL


это не удается, потому что я указываю NOT NULL без указания ограничения по умолчанию. Таблица не должна иметь ограничения по умолчанию.



чтобы обойти это, я мог бы создать таблицу с ограничением по умолчанию, а затем удалить его.



однако, похоже, нет никакого способа указать, что ограничение по умолчанию должно быть названо как часть этого оператора, поэтому мой единственный способ избавиться от него это должна быть хранимая процедура, которая ищет его в системе.default_constraints стол.



Это немного грязно / многословно для операции, которая, вероятно, произойдет много. У кого-нибудь есть лучшие решения для этого?

559   2  

2 ответов:

Это должно работать:

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)

Comments

    Ничего не найдено.