58

I tried the following code. Although I don't get any errors, it did not do it.

SELECT * FROM Categories EXEC sp_rename 'Active', CategoriesActive
2
  • And what are you trying to accomplish? To change the values in the table, or to change the name of a column in the table, or to change the names of multiple columns? Commented Mar 15, 2010 at 15:15
  • Can you list what tables / columns you have and what you want to rename them to? Commented Mar 15, 2010 at 15:15

3 Answers 3

92
EXEC sp_rename 'Categories.Active', 'CategoriesActive', 'COLUMN'
Sign up to request clarification or add additional context in comments.

2 Comments

'Categories.Active' is the representation of 'table.old_column_name' and 'CategoriesActive' is the new column name. works fine.
51

FOR MSSQL :

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

FOR MYSQL : Use ALTER TABLE to do this

ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name

You can rename a column using a CHANGE old_col_name new_col_name column_definition clause. To do so, specify the old and new column names and the definition that the column currently has. For example, to rename an INTEGER column from a to b, you can do this:

ALTER TABLE t1 CHANGE a b INTEGER;

3 Comments

msdn.microsoft.com/en-us/library/ms190273.aspx does not seem to indicate a CHANGE clause to the ALTER TABLE statement
Sorry I mis-read the question I thought he was referring to MYsql not MSsql! Will edit accordingly
actually it it wasn't for the "sp_rename" this very database-specific question would have been database agnostic :)
6

You don't need to use that select in front, and the syntax should be like:

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

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.