Can I create a named default constraint in an add column statement in SQL Server?
-
04-10-2019 - |
Pergunta
In SQL Server, I have a new column on a table:
ALTER TABLE t_tableName
ADD newColumn NOT NULL
This fails because I specify NOT NULL without specifying a default constraint. The table should not have a default constraint.
To get around this, I could create the table with the default constraint and then remove it.
However, there doesn't appear to be any way to specify that the default constraint should be named as part of this statement, so my only way to get rid of it is to have a stored procedure which looks it up in the sys.default_constraints table.
This is a bit messy/verbose for an operation which is likely to happen a lot. Does anyone have any better solutions for this?
Solução
This should work:
ALTER TABLE t_tableName
ADD newColumn VARCHAR(50)
CONSTRAINT YourContraintName DEFAULT '' NOT NULL
Outras dicas
ALTER TABLE t_tableName
ADD newColumn int NOT NULL
CONSTRAINT DF_defaultvalue DEFAULT (1)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow