¿Puedo crear una restricción predeterminada con nombre en un comunicado la columna complemento en SQL Server?

StackOverflow https://stackoverflow.com/questions/3770015

Pregunta

En SQL Server, tengo una nueva columna en una tabla:

ALTER TABLE t_tableName 
    ADD newColumn NOT NULL

Esto falla porque no se especifica NULL sin especificar una restricción predeterminada. La tabla no debe tener una restricción predeterminada.

Para evitar esto, yo podría crear la tabla con la restricción predeterminada y luego eliminarlo.

Sin embargo, no parece haber ninguna manera de especificar que la restricción predeterminada debe ser nombrado como parte de esta declaración, por lo que mi única manera de deshacerse de él es tener un procedimiento almacenado que se ve arriba en el sys.default_constraints mesa.

Este es un desordenado bit / detallado para una operación que es probable que suceda mucho. ¿Alguien tiene alguna solución mejor para esto?

¿Fue útil?

Solución

Esto debería funcionar:

ALTER TABLE t_tableName 
    ADD newColumn VARCHAR(50)
    CONSTRAINT YourContraintName DEFAULT '' NOT NULL

Otros consejos

ALTER TABLE t_tableName 
    ADD newColumn int NOT NULL
        CONSTRAINT DF_defaultvalue DEFAULT (1)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top