570 votos

Renombrar la columna Sql Server 2008

Estoy usando Sql Server 2008 y navicat. Necesito renombrar una columna en una tabla usando SQL.

ALTER TABLE table_name RENAME COLUMN old_name to new_name;

Esta declaración no funciona.

1049voto

Habib Puntos 93087

Utilice sp_rename

EXEC sp_RENAME 'TableName.OldColumnName' , 'NewColumnName', 'COLUMN'

Mira: Sql Server - Cómo renombrar un nombre de columna o un nombre de tabla

Para tu caso lo sería:

EXEC sp_RENAME 'table_name.old_name', 'new_name', 'COLUMN'

Recuerde utilizar comillas simples para encerrar sus valores.

91voto

Carrie Kendall Puntos 3450

Alternativamente a SQL puedes hacerlo en el Microsoft Sql Server Management Studio, desde el panel de diseño de la mesa. Aquí hay algunas formas rápidas de usar la interfaz gráfica de usuario:

Primer camino

Haz doble clic lentamente en la columna. El nombre de la columna se convertirá en un cuadro de texto editable.


Segundo Camino

Haga clic con el botón derecho del ratón en la columna y elija Renombrar en el menú contextual.

Por ejemplo: To Rename column name


Tercera Vía

Esta forma es preferible para cuando necesitas renombrar varias columnas de una sola vez.

  1. Haga clic con el botón derecho del ratón en la tabla que contiene la columna que necesita ser renombrada.
  2. Haga clic en Diseño .
  3. En el panel de diseño de la tabla, haga clic y edite el cuadro de texto del nombre de la columna que desea modificar.

Por ejemplo: MSSMS Table Design Example

<strong>NOTA: </strong>Sé que OP pidió específicamente la solución de SQL, pensó que esto podría ayudar a los demás :)

55voto

TechDo Puntos 11224

Inténtalo:

EXEC sp_rename 'TableName.OldName', 'NewName', 'COLUMN'

16voto

NeverHopeless Puntos 3962

Sería una buena sugerencia utilizar una función ya incorporada, pero otra forma es hacerlo:

  1. Crear una nueva columna con el mismo tipo de datos y NUEVO NOMBRE.
  2. Ejecute una declaración UPDATE/INSERT para copiar todos los datos en una nueva columna.
  3. Suelta la vieja columna.

El beneficio de usar el sp_rename es que se encarga de todas las relaciones asociadas a ella.

Desde el documentación :

sp_rename renombra automáticamente el índice asociado cada vez que se renombra una CLAVE PRIMARIA o una restricción ÚNICA. Si un índice renombrado está vinculado a una restricción de CLAVE PRIMARIA, la restricción de CLAVE PRIMARIA también se renombra automáticamente mediante sp_rename. sp_rename puede utilizarse para renombrar los índices XML primarios y secundarios.

13voto

Karan Gandhi Puntos 300
EXEC sp_rename 'TableName.OldName', 'NewName', 'COLUMN'

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X