Sintaxis:
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES
Ejemplo:
ALTER TABLE SomeTable
ADD SomeCol Bit NULL --Or NOT NULL.
CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.
DEFAULT (0)--Optional Default-Constraint.
WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.
Notas:
Nombre de restricción opcional:
Si omite CONSTRAINT D_SomeTable_SomeCol
entonces SQL Server generará automáticamente
una restricción predeterminada con un nombre gracioso como:DF__SomeTa__SomeC__4FB7FEF6
Declaración opcional con valores:
El WITH VALUES
solo se necesita cuando su columna es anulable
y desea que se use el valor predeterminado para los registros existentes.
Si su columna es NOT NULL
, utilizará automáticamente el valor predeterminado
para todos los registros existentes, ya sea que especifique WITH VALUES
o no.
Cómo funcionan las inserciones con una restricción predeterminada:
Si inserta un Registro en SomeTable
y no Especifique SomeCol
's, entonces se establecerá de forma predeterminada en 0
.
Si inserta un Registro y Especifique SomeCol
valor de como NULL
(y su columna permite nulos),
entonces la restricción predeterminada no ser usado y NULL
se insertará como el Valor.
Las notas se basaron en los excelentes comentarios de todos a continuación.
Gracias especiales a:
@Yatrix, @WalterStabosz, @YahooSerious y @StackMan por sus comentarios.