Cambiar el orden de las columnas de una tabla
Se aplica a: SQL Server 2016 (13.x) y versiones posteriores Azure SQL Database Azure SQL Managed Instance Analytics Platform System (PDW)
Puede cambiar el orden de las columnas en el Diseñador de tablas en SQL Server Management Studio (SSMS). De manera predeterminada, un mecanismo de seguridad de SSMS bloquea el cambio del orden de las columnas. Aunque no se recomienda, puede cambiar el orden de columna en una tabla al volver a crear la tabla.
Agregar columnas a una tabla de manera predeterminada las añade 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 mostradas en un conjunto de resultados, informe o 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. - Agregar 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 las consecuencias de realizar cualquier cambio en el orden de las columnas.
Uso de 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).
En el Explorador de objetos, haga clic con el botón derecho en la tabla cuyas columnas quiera reordenar y seleccione Diseñar.
Seleccione la casilla que hay a la izquierda del nombre de la columna cuyo orden desea cambiar.
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 artículo sobre el mensaje de error de SSMS que advierte de que “no se permite guardar cambios”. En su lugar, se recomienda ejecutar este tipo de cambios, con plena conciencia de su impacto, mediante pasos de Transact-SQL relacionados con los permisos y 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 mucho tiempo y una gran cantidad de espacio en el registro de transacciones.
Uso de Transact-SQL
No se admite cambiar el 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.