Как добавить необнуляемые столбцы со значениями по умолчанию - PullRequest
5 голосов
/ 08 октября 2008

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

1 Ответ

13 голосов
/ 08 октября 2008

Да, модификатор WITH VALUES для ограничения DEFAULT применяет значение по умолчанию к существующим строкам, устраняя всю «тяжелую» работу, описанную в вопросе.

IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id=OBJECT_ID('[caConfig]') AND [Name]='ExportWizardVersion')
ALTER TABLE [caConfig] 
    ADD 
        [ExportWizardVersion] varchar(5) not null CONSTRAINT DF_caConfig_ExportWizardVersion DEFAULT '5.8' WITH VALUES,
        [ExportPeriodEnd] varchar(10) not null CONSTRAINT DF_caConfig_ExportPeriodEnd DEFAULT 'MonthEnd' WITH VALUES
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...