Como cambiar el nombre a una columna en SQL

Cambiar el nombre de una columna en SQL server



En este artículo estaremos aprendiendo como cambiar el nombre de una columna  en SQL .

En SQL nos es permitido poder cambiarle el nombre a una columna de una tabla, para eso existen varias formas de poder realizarlo, siempre y cuando nos sea necesario realizar dichos cambios.

También debemos tener en cuenta que para realizar el cambio en el nombre de la columna debemos tener permisos de modificación(ALTER) en dicha tabla.


Restricciones y limitantes al modificar el nombre de una columna


Al modificar el nombre de una columna, SQL Server nos restringe al aplicar dichos cambios en el nombre de la columna ya que si esta columna hacer referencia en otra tabla no significa que también será modificados dicho nombre de la columna. Por lo cual al modificar el nombre de la columna, también debemos modificar pero de manera manual en las otras tablas donde se hace referencia con dicho nombre.

Por otra parte debemos tener en cuenta si modificamos el nombre de la columna de una tabla la cual tiene creada un procedimiento almacenado, un Triggers o una función en cada uno de ellos debemos modificar el nombre para no generar ningún tipo de error al momento de ejecutarse cada instrucción.

Ahora bien podemos cambiar el nombre de una columna atreves de Transact-SQL y utilizando el explorador de objeto de SQL Server Management Studio.


Usar Transact-SQL para cambiar el nombre de una columna


Para cambiar el nombre de una columna utilizado Transact-SQL debemos hacer uso de un procedimiento almacenado que nos proporciona SQL Server llamado SP-RENAME el cual nos permite modificar el nombre de un objeto creado por el usuario actual de una base de datos.

Debemos de tener muy presente que al modificar el nombre de una columna utilizando SP-RENAME cualquier procedimiento almacenado, función, vista, disparador o scripts creado debe ser modificado también ya que al cambiar el nombre de una columna asociada alguno de estos tipos de instrucciones puede dejar de funcionar y ocasionarnos errores.

La sintaxis para cambiar el nombre de una columna es la siguiente:

EXEC SP_RENAME '[dbo.NOMBRETABLA][NOMBRE_COLUMNA ANTIGUA]','NOMBRE_COLUMNA NUEVA','COLUMN'

En la figura anterior ejecutamos el procedimiento almacenado mediante la instrucción EXEC seguido del nombre del procedimiento almacenado y le pasamos el nombre de nuestra tabla y el nombre de la columna a cambiar, seguido del nuevo nombre que tendrá la columna.


Ahora vamos a crear un ejemplo utilizando el procedimiento almacenado SP_RENAME  para modificar el nombre de una columna de una tabla llamada Autos la cual contiene los siguientes registros.


De la tabla mostrada vamos a cambiar el nombre de la columna "FechaEstreno" por "ModeloAño" para eso vamos utilizar el procedimiento almacenado SP_RENAME y la consulta nos quedaría de la siguiente manera:

EXEC sp_rename 'dbo.Autos.FechaEstreno','ModeloAño','COLUMN'

Ahora utilizando SQL Server Management Studio ejecutemos la consulta y luego realicemos un Select ala tabla para verificar si se realizó el cambio en la columna.


Si observamos el cambio en el nombre de la columna de la tabla "Autos" se realizó, pero además la ejecución nos muestra un mensaje que nos indica lo que ya hablamos al inicio del artículo. Si nosotros cambiamos el nombre de una columna y esta está incluida  en algún script o bloques de instrucciones(Procedimientos almacenados, funciones, Triggers, etc..)debemos de realizar el cambio en cada una de ellas ya que de no hacerlo nos puede ocasionar errores o que no se ejecuten los bloques de operaciones. Ahora realicemos un Select para comprobar si se aplicó el cambio a la columna.


Al consultar la tabla "Autos", podemos verificar que la columna que anteriormente se llamaba "FechaEstreno" ha pasado a denominarse "ModeloAño".


Usar Explorador de objetos para cambiar el nombre de una columna


Ya vimos que podemos cambiar el nombre de una columna usando un procedimiento almacenado. Ahora bien SQL Server nos da la opción de modificar una columna usando el explorador de objetos, para eso vamos a seguir los siguientes pasos:

  • Primero :no colocamos sobre el explorador de objetos y lo expandimos
  • Segundo: seleccionamos nuestra base de dato y expandimos las opciones y seleccionamos la tabla
  • Tercero: luego de haber seleccionado la tabla expandimos las opciones y seleccionamos la columna a la cual queremos cambiarle el nombre
  •  Por último, la columna seleccionada damos clic derecho y  buscamos una opcion que diga Rename(CAMBIAR NOMBRE en el caso que este en español el editor).
Para este ejemplo vamos a cambiarle el nombre de la columna "RepuestoParte" de la tabla "AutosRepuestos" por el nombre "ParteVehiculo".


Al dar clic en la opción Rename se nos va habilitar poder cambiar el nombre a la columna, posterior a escribir el nuevo nombre damos enter y el nombre de la columna será cambiado, refrescamos la tabla y verificamos el cambio aplicado.


Ahora bien hay otra opción mas sencilla de cambiar el nombre de la columna para eso nos colocamos sobre el nombre de la columna seleccionada y damos doble clic y se nos permitirá modificar el nombre.


Usar el diseñador de tabla para cambiar el nombre de una columna


Ya vimos como cambiar el nombre a una columna utilizando Transact-SQL y el Explorador de Objetos, ahora vamos a cambiar el nombre de una columna usando el Diseñador de tabla, veamos:

Primero que nada nos vamos a colocar sobre el nombre de la tabla y damos clic derecho y seleccionamos la opción Design.




Se nos va abrir una pantalla que nos va a mostrar el nombre de las columnas y el tipo de dato, nos colocamos sobre la columna que deseamos cambiarle el nombre.


Después de haber editado el nombre de la columna, cerramos la ventana y guardamos los cambios.


Por ultimo verificamos si se cambio el nombre de la columna refrescando la tabla.



En este artículo hemos visto como cambiar el nombre a una columna en sql Server. Debemos siempre tener presente que cambiar el nombre de una columna nos provocará también realizar cambios en otras instrucciones o bloques de sentencias creadas en nuestra base de datos

Publicar un comentario

0 Comentarios