Alter table permite modificar la definición de una tabla, los cambios pueden ser:
- Agregar, quitar o cambiar campos
- Agregar o quitar restricciones
- Reasignar o regenerar particiones
- Habilitar o deshabilitar restricciones y triggers
Sintaxis:
- Agregar Campo:
- Alter table [BaseDatos.][Esquema.]NombreTabla add DefinicionColumna
- Quitar campo:
- Alter table [BaseDatos.][Esquema.]NombreTabla drop Columna
- Cambiar campo:
- Alter table [BaseDatos.][Esquema.]NombreTabla alter column DefinicionNuevadeColumna
Las restricciones o constraints pueden ser de tipo: Primary Key, Foreign Key, Check, Unique y Default
- Agregar restricción:
- Alter table [BaseDatos.][Esquema.]NombreTabla add constraint NombreConstraint Tipo …
- Quitar restricción:
- Alter table [BaseDatos.][Esquema.]NombreTabla drop constraint NombreConstraint
Para particiones:
Alter table [BaseDatos.][Esquema.]NombreTabla SWITCH [ PARTITION source_partition_number_expression ] TO target_table [ PARTITION target_partition_number_expression ]
[ WITH ( <low_lock_priority_wait> ) ]
Para triggers
Alter table [BaseDatos.][Esquema.]NombreTabla { ENABLE | DISABLE } TRIGGER
{ ALL | trigger_name [ ,…n ]
