me gustaría cambiar el tamaño de la columna de la columna de salary
en la tabla employee
numeric(18,0)
-numeric(22,5)
tamaño de columna Alterar en SQL Server
Puede alguien decirme cómo hacerlo?
me gustaría cambiar el tamaño de la columna de la columna de salary
en la tabla employee
numeric(18,0)
-numeric(22,5)
tamaño de columna Alterar en SQL Server
Puede alguien decirme cómo hacerlo?
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5)
alter table Employee alter column salary numeric(22,5)
ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150)
Correr ALTER COLUMN
sin mencionar atributo NOT NULL
resultará en la columna que se cambió a anulable, si ya no lo es. Por lo tanto, primero debe verificar si la columna es nulable y si no, especifique el atributo NOT NULL
. Alternativamente, puede usar la siguiente declaración que verifica la anulabilidad de la columna de antemano y ejecuta el comando con el atributo correcto.
IF COLUMNPROPERTY(OBJECT_ID('Employee', 'U'), 'Salary', 'AllowsNull')=0
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
ELSE
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NULL
¡Gracias por la nota sobre las cosas que aceptan nulos! – user3341592
Tenga cuidado, si está cambiando una columna en una tabla de datos muy grande. Puede causar un bloqueo (en mi entorno de todos modos). – DavidTheDev
También es importante que si la columna tiene el atributo 'NOT NULL', debe mencionarse en la consulta, de lo contrario, establecerá' NULL' de manera predeterminada. 'ALTER TABLE [Empleado] ALTER COLUMN [Salario] NUMERIC (22,5) NOT NULL' –
Si tiene un índice en esa columna, tendrá que soltarlo, luego ejecutar el código alter table y luego crear el index again –