Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the advantage of using sp_rename to rename a SQL table?

I have a sql table in sql server 2012 that I need to rename. I know in other database systems a way of executing this is the following:

ALTER TABLE table_name
  RENAME TO new_table_name;

However, it seems SQL Server requires different syntax. From SQL Management Studio I renamed the table in the Design View and right clicked to Generate Change Script, and it produced the following:

BEGIN TRANSACTION
GO
EXECUTE sp_rename N'table_name', N'new_table_name', 'OBJECT' 
GO
ALTER TABLE new_table_name SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

Is using sp_rename the best practice for renaming?

Also there is an additional line it generated to set the lock_esclation = table. Is this required?

like image 777
dotNetE Avatar asked Dec 07 '22 05:12

dotNetE


1 Answers

I guess the (slightly sarcastic) answer is the advantage to using sp_rename is that it is actually valid syntax on SQL Server, whereas the former is only valid on PostgreSQL (documentation).

To see the valid options for ALTER TABLE - see MSDN.

Here is an example of using Sp_rename:

EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';

(Documentation on sp_rename)

like image 138
Bridge Avatar answered Dec 08 '22 18:12

Bridge