Errores al mover datos antiguos en SQL Server

Hace un tiempo estuve escribiendo una solución para aligerar el tamaño de tablas importantes moviendo datos antiguos a tablas auxiliares. Esta es una solución muy práctica sobre todo tendiendo en cuenta que la ejecutas con una sola sentencia SQL lo único malo es que cada tabla debe ser igual en el número de campos, o sea, si borras uno lo tienes que borrar en ambas tablas (lo mismo pasa al agregar un campo), de no hacerlo tenemos el siguiente error:

SQLSTATE: 21S01
code: 213
message: Microsoft SQL Native Client SQL Server Column name or number of supplied values does not match table definition

Algunas consultas que nos pueden ser útiles:

Agregar campos a una tabla desde la consola utilizando sintaxis SQL:

ALTER TABLE tabla_nombre ADD campo_nombre tipo_campo null_or_not_null;

Borrar campos:

ALTER TABLE tabla_nombre DROP COLUMN campo_nombre;

Borrar un índice (es muy importante borrar los índices antes de borrar los campos asociados en la tabla)

DROP INDEX indice_nombre ON tabla_nombre;

Comentarios