Comando para agregar una restricción predeterminada


81

Parece haber al menos dos formas de agregar una restricción predeterminada utilizando T-SQL directo. ¿Tengo razón en que la única diferencia entre los dos siguientes es que el segundo método crea específicamente un nombre para la restricción, y el primer método tiene uno generado por SQL Server?

ALTER TABLE [Common].[PropertySetting] ADD DEFAULT ((1)) FOR [Active];
ALTER TABLE [Common].[PropertySetting] ADD CONSTRAINT [DF_PropertySetting_Active) DEFAULT ((1)) FOR [Active];

Respuestas:


104

Básicamente, sí para ALTER TABLE

También puede agregar una columna con el valor predeterminado en un paso para CREAR o ALTERAR.

ALTER TABLE foo ADD bar varchar(100) CONSTRAINT DF_Foo_Bar DEFAULT ('bicycle')
ALTER TABLE foo ADD bar varchar(100) DEFAULT ('bicycle')

Como señaló, el sistema genera un nombre si no se proporciona uno. CONSTRAINT constraint_namees opcional dice MSDN. Lo mismo se aplica a cualquier columna o tabla RESTRICCIÓN

Editar Si la columna ya se creó y solo desea agregar la restricción, use:

ALTER TABLE TableName ADD CONSTRAINT DF_Foo_Bar DEFAULT 'bicycle' FOR FieldName;

3
¿Puedo usar un nombre generado en lugar de DF_Foo_Bar, incluso si la columna ya existe?
slartidan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.