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

匆匆过客 提交于 2020-01-04 02:39:05

问题


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?


回答1:


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)



来源:https://stackoverflow.com/questions/19162326/what-is-the-advantage-of-using-sp-rename-to-rename-a-sql-table

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!