2010-06-17 13 views

Respuesta

18
sp_rename 'TableName.ColumnName', 'NewColumnName', 'COLUMN' 
2

sp_rename como se describe here.

Aunque parezco recordar que no siempre se puede usar.

+0

quiero hacerlo sin sp_rename cómo puedo hacer eso .... alterar – Penguen

+0

@Phsika: no creo que se pueda, me ha frustrado a veces también. –

4

Quiero hacerlo sin sp_rename cómo puedo hacer eso .. alterar

No se puede. Puede crear una nueva columna en la tabla, usando el nuevo nombre, copiar el contenido de la columna anterior en la nueva columna y luego soltar la columna anterior (eso es dos ALTERs y una ACTUALIZACIÓN), pero la única manera de hacerlo es de lo contrario es sp_rename.

Aquí hay un enlace a ALTER TABLE documentation, donde puede ver qué opciones están disponibles para usted. El cambio no es uno de ellos.

Esta sección de la documentación se analiza lo que puede hacer como parte de una cláusula ALTER COLUMN de ALTER TABLE:

ALTER COLUMN column_name 
{ 
    [ type_schema_name. ] type_name [ ({ precision [ , scale ] 
     | max | xml_schema_collection }) ] 
    [ COLLATE collation_name ] 
    [ NULL | NOT NULL ] 
| {ADD | DROP } { ROWGUIDCOL | PERSISTED | NOT FOR REPLICATION} 
} 

Nota, no hay mención de un nombre nuevo. Entonces, de nuevo, para repetir, no puede cambiar el nombre de una columna usando ALTER TABLE, en SQL Server. Si se implementan la sintaxis estándar (que no lo hacen), sería ALTER TABLE [nombre_tabla] Renombrar {COLUMNA} [COLUMN_NAME] A [new_column_name]

+0

Alterar tabla 'Cambio de cliente' newColumnName '' [First_Name] 'tamaño de tipo ¿es verdadero CHANGE no está en ms sql? – Penguen

0

Para MySQL, la sintaxis es:

ALTER TABLE <db>.<table> CHANGE COLUMN <old_column_name> <new_column_name> <column_type>; 
1

Pruebe lo siguiente para cambiar el nombre de la columna es

EXEC sp_RENAME 'table_name.old_Column_name', 'new_Column_name', 'COLUMN' 
Cuestiones relacionadas