name - modificar campo sql server 2012
Modificar columna en SQL Server (3)
Creo que quieres esta sintaxis:
ALTER TABLE tb_TableName
add constraint cnt_Record_Status Default '''' for Record_Status
Según algunos de sus comentarios, voy a suponer que es posible que ya tenga valores null
en su tabla, lo que está causando que el cambio de columna not null
falle. Si ese es el caso, primero debe ejecutar una UPDATE
. Tu guión será:
update tb_TableName
set Record_Status = ''''
where Record_Status is null
ALTER TABLE tb_TableName
ALTER COLUMN Record_Status VARCHAR(20) NOT NULL
ALTER TABLE tb_TableName
ADD CONSTRAINT DEF_Name DEFAULT '''' FOR Record_Status
¿Cuál es la sintaxis correcta para que una declaración ALTER
agregue un valor predeterminado a una columna existente?
Puedo agregar nueva columna sin errores:
ALTER TABLE tb_TableName ADD Record_Status varchar(20)
Pero si intento modificar la columna existente para aplicar el valor predeterminado mediante la siguiente declaración:
ALTER TABLE tb_TableName
ALTER COLUMN Record_Status VARCHAR(20) NOT NULL DEFAULT ''''
o
ALTER TABLE tb_TableName
ALTER Record_Status VARCHAR(20) NOT NULL DEFAULT ''''
He recibido un error:
Sintaxis incorrecta cerca de ''Estado_Registro''.
Para establecer un valor predeterminado en una columna, intente esto:
ALTER TABLE tb_TableName
ALTER COLUMN Record_Status SET DEFAULT ''default value''
Prueba este.
ALTER TABLE tb_TableName
ALTER COLUMN Record_Status VARCHAR(20) NOT NULL
ALTER TABLE tb_TableName
ADD CONSTRAINT DEF_Name DEFAULT '''' FOR Record_Status