Cambiar el orden de las columnas de una tabla

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores Azure SQL DatabaseAzure SQL Managed InstanceAnalytics Platform System (PDW)

Puede cambiar el orden de las columnas de Table Designer en SQL Server Management Studio (SSMS). De forma predeterminada, un mecanismo de seguridad de los bloques de SSMS cambia el orden de las columnas. Aunque no se recomienda, puede cambiar el orden de columna en una tabla mediante la nueva creación de la tabla.

Agregar columnas a una tabla de forma predeterminada las agrega al final de la tabla, como se recomienda.

Recomendaciones

Procedimientos recomendados con el orden de las columnas de tabla:

  • Para cambiar el orden de las columnas que se muestran en un conjunto de resultados, un informe o una aplicación, use el orden de columna en una instrucción SELECT (Transact-SQL). Especifique siempre las columnas por nombre en las consultas y aplicaciones en el orden en que desea que aparezcan.
  • No use SELECT * en aplicaciones. Las columnas agregadas o eliminadas podrían provocar errores o comportamientos inesperados en las aplicaciones.
  • Agregue nuevas columnas al final de las tablas.

Precaución

Si cambia el orden de las columnas de una tabla, el código y las aplicaciones que dependen de un orden de columnas determinado pueden verse afectados. Los elementos afectados pueden ser consultas, vistas, procedimientos almacenados, funciones definidas por el usuario y aplicaciones cliente. Tenga en cuenta cuidadosamente los cambios que quiera realizar en el orden de columnas.

Usar SQL Server Management Studio

Cambiar el orden de las columnas

Aunque no se recomienda, puede cambiar el orden de las columnas de una tabla mediante SQL Server Management Studio (SSMS). Esto requiere volver a crear la tabla.

Importante

Use siempre la versión más reciente de SQL Server Management Studio (SSMS).

  1. En el Explorador de objetos, haga clic con el botón derecho en la tabla cuyas columnas quiera reordenar y seleccione Diseñar.

  2. Seleccione la casilla que hay a la izquierda del nombre de la columna cuyo orden desea cambiar.

  3. Arrastre la columna a otra ubicación en la tabla.

Es posible que una importante característica de seguridad de SSMS, controlada por la opción Impedir guardar cambios que requieran volver a crear tablas le bloquee para que no pueda realizar estos cambios. Esta opción está habilitada para evitar la eliminación accidental o recreación de la tabla a través de cuadros de diálogo SSMS, que pueden suponer una interrupción y dar lugar a la pérdida de metadatos o permisos. Para obtener más información, consulte el mensaje de error "No se permite guardar cambios" en SSMS. En su lugar, se recomienda ejecutar este tipo de cambios, con reconocimiento completo de su impacto, a través de pasos de Transact-SQL que tienen en cuenta los permisos y los metadatos.

Precaución

Al volver a crear una tabla, se bloqueará el acceso simultáneo a la tabla para otros usuarios y aplicaciones. En el caso de las tablas grandes, esto podría requerir una larga duración y una gran cantidad de espacio en el registro de transacciones.

Uso de Transact-SQL

No se admite el cambio del orden de columna mediante instrucciones Transact-SQL. La tabla se debe eliminar y volver a crear para cambiar el orden de las columnas.

Comentarios

Para realizar consultas a columnas existentes, use la vista de catálogo de objetos sys.columns.

Pasos siguientes