Las tablas en la base de datos se deben modificar en algunas ocasiones, es posible agregar o quitar campos, restricciones y cambiar de nombre los campos.
#000018
Para cambiar Tipo de dato de un campo
#000021
Tenga en cuenta si es posible cambiar el tipo de dato, puede que se pierdan los datos o no se pueda ejecutar la orden cuando los tipos de datos no son compatibles.
#000022
Alter table NombreTabla Alter column NuevaDefinicionCampo
#000023
Alter table NombreTabla Drop column ....
#000029
Create table Empleados(EmpleadosCodigo nchar(3),EmpleadosPaterno nvarchar(20),EmpleadosMaterno nvarchar(20),EmpleadosNombre nvarchar(20),EmpleadosDireccion nvarchar(300),EmpleadosFechaNace Date,constraint EmpleadosCodigoPK primary key (EmpleadosCodigo)go
#000034
Los siguientes ejercicios se trabajarán en base a la tabla Empleados creada.
#000035
Aumentar el tamaño del campo Código de 3 a 8 caracteres.Al ser la PK debe eliminar la restricción, modificar el campo y luego agregar la PK.
#000036
Execute sp_rename ‘Empleados.Correo’, ‘EmpleadosEmail’, ‘COLUMN’goPrecaución: al cambiar cualquier parte del nombre de un objeto pueden dejar de ser scripts válidos y procedimientos almacenados.
#000040
Se pueden visualizar los campos de la tabla empleados, considerando que siempre al inicio del nombre de campo se incluya el nombre de la tabla. Para ello podemos usar la vista del sistema Columns del esquema sys.
#000044
select * from sys.columns where name like ‘Empleados%’go
#000045
select * from sys.key_constraints where name like ‘Empleados%’go
#000051
Alter table Empleados add EmpleadosSueldo Numeric(9,2)go
#000052
Agregar restricción para que el sueldo no sea menor a 1200, tenga en cuenta que existen registros que no cumplen con la restricción a agregar, además los registros que no cumplen no se van a modificar.
#000053
Alter table Empleados with nocheck add constraint EmpleadosSueldoCK check (EmpleadosSueldo>=1200)go
#000054
Para ver los datos que no cumplen con la restricción agregada.
#000055
Se puede hacer una consulta filtrando los valores de la columna Where para saber quienes son los registros con esos sueldos.
#000056