2008-10-08 15 views
5

A menudo necesitamos agregar una columna que no se pueda nulos a una tabla, y es toda una misión. El uso de una restricción predeterminada como es no funciona, por lo que tenemos que crear columnas que aceptan nulos, actualizarlas a los valores predeterminados, y luego hacer que no sean nulables. ¿No hay una manera más fácil de hacer esto?Cómo agregar columnas que no admiten nulos con los valores predeterminados

Respuesta

12

Sí, el modificador WITH VALUES en una restricción DEFAULT aplica el valor predeterminado a las filas existentes, eliminando todo el trabajo 'difícil' descrito en la pregunta.

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 
Cuestiones relacionadas