The script for renaming any column :
sp_RENAME 'TableName.[OldColumnName]' , '[NewColumnName]', 'COLUMN'
The script for renaming any object (table, sp etc) :sp_RENAME '[OldTableName]' , '[NewTableName]'
- Renaming database table column to new name.
- Renaming database table to new name.
In both the cases we will first see existing table. Rename the object. Test object again with new name.
1. Renaming database table column to new name.
Example uses AdventureWorks database. A small table with name “Table_ First” is created. Table has two fields ID and Name.

Now, to change the Column Name from “Name” to “NameChange” we can use command:
USE AdventureWorks
GO
sp_RENAME 'Table_First.Name', 'NameChange' , 'COLUMN'
GO
Following Fig. show use of SP_RENAME Command

You can see the column name “Name” is now changed to “NameChange”.
USE AdventureWorks
GO
SELECT *
FROM Table_First
GO

2.Renaming database table to new name.
We can change the table name too with the same command.
sp_RENAME 'Table_First', 'Table_Last'
GO

Now, the table name “Table_First” is renamed as “Table_Last”.
“Table_First” will no longer be available in database. We can verify this by running script:
USE AdventureWorks
GO
SELECT *
FROM Table_First
GO
The Messages shows an error “Invalid object name ‘Table_First’.”
To check that the new renamed table exist in database run script:
USE AdventureWorks
GO
SELECT *
FROM Table_Last
GO

You can see the same data now available in new table named “Table_Last”
Reference : Pinal Dave (http://blog.SQLAuthority.com)
Be careful when renaming objects. The information in sys.sql_modules is not updated, so if you're using tools retrieving the sql code form this system table (as SSMS and TFS) it will get the code with the original table name.
ReplyDelete