2010-03-15 10 views
41

He intentado el siguiente código. Aunque no recibo ningún error, no lo hice.Cambiar el nombre de la columna en SQL Server

SELECT * FROM Categories EXEC sp_rename 'Active', CategoriesActive 
+0

¿Y qué está tratando de lograr? Para cambiar los valores en la tabla, o para cambiar el nombre de una columna en la tabla, o para cambiar los nombres de varias columnas? – SWeko

+0

¿Puedes enumerar qué tablas/columnas tienes y a qué quieres renombrarlas? –

Respuesta

76
EXEC sp_rename 'Categories.Active', 'CategoriesActive', 'COLUMN' 
+1

Consulte también [Documentación de MSDN para 'sp_rename'] (http://technet.microsoft.com/en-us/library/ms188351.aspx). –

5

Usted no lo hace necesidad de utilizar ese selecto delante, y la sintaxis debe ser como:

EXEC sp_rename 
    @objname = 'Categories.Active', 
    @newname = 'CategoriesActive', 
    @objtype = 'Type_of_your_column' 
37

PARA MSSQL:

EXEC sp_rename 'TABLENAME.OLD_COLUMNNAME', 'NEW_COLUMNAME', 'COLUMN'; 

para MySQL : Use ALTER TABLE para hacer esto

ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name 

Puede cambiar el nombre de una columna utilizando una cláusula CHANGE old_col_name new_col_name column_definition. Para hacerlo, especifique los nombres de las columnas antiguas y nuevas y la definición que tiene actualmente la columna. Por ejemplo, para cambiar el nombre de una columna INTEGER de aab, puede hacer esto:

ALTER TABLE t1 CHANGE a b INTEGER; 
+0

http://msdn.microsoft.com/en-us/library/ms190273.aspx no parece indicar una cláusula CHANGE en la instrucción ALTER TABLE – SWeko

+0

Lamento haber leído mal la pregunta que creía que se refería a MYsql no a MSsql ! Editará en consecuencia – Xander

+0

en realidad no era para el "nombre_de_sp" esta misma pregunta específica de la base de datos habría sido una base de datos agnóstica :) – SWeko

Cuestiones relacionadas