2008-10-08 91 views
5

通常,我們需要向表中添加不可空的列,這是一項艱鉅的任務。使用默認約束一樣不起作用,所以我們必須創建可爲空的列,將它們更新爲默認值,然後使它們不可爲空。有沒有更簡單的方法來做到這一點?如何使用默認值添加不可爲空的列

回答

12

是的,WITH DEFUES修飾符應用於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 
相關問題