valor una tabla por nombre modificar insertar entre eliminar defecto con columnas columna campos campo cambiar alterar agregar sql-server constraints alter-table code-maintainability

tabla - ¿Puedo crear una restricción predeterminada nombrada en una declaración de agregar columna en SQL Server?



insertar campos en una tabla sql (2)

Esto debería funcionar:

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

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

ALTER TABLE t_tableName ADD newColumn NOT NULL

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

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

Sin embargo, no parece haber ninguna forma de especificar que la restricción por defecto deba nombrarse como parte de esta declaración, por lo que la única forma de deshacerse de ella es tener un procedimiento almacenado que lo busque en el sys.default_constraints mesa.

Esto es un poco complicado / detallado para una operación que es probable que suceda mucho. ¿Alguien tiene mejores soluciones para esto?


ALTER TABLE t_tableName ADD newColumn int NOT NULL CONSTRAINT DF_defaultvalue DEFAULT (1)