一尘不染

使用sp_rename重命名SQL表的好处是什么?

sql

我在sql server 2012中有一个sql表,需要重命名。我知道在其他数据库系统中执行此操作的方法如下:

ALTER TABLE table_name
  RENAME TO new_table_name;

但是,似乎SQL Server需要不同的语法。从SQL Management
Studio中,我在“设计视图”中重命名了该表,然后右键单击以生成“生成更改脚本”,它产生了以下内容:

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

使用sp_rename是重命名的最佳实践吗?

另外,它还生成了另一行来设置lock_esclation = table。这是必需的吗?


阅读 302

收藏
2021-03-08

共1个答案

一尘不染

我猜答案(有点讽刺意味)是使用sp_rename它的优势,因为它实际上在SQL
Server上是有效的语法,而前者仅在PostgreSQL(文档)上有效。

要查看-的有效选项,ALTER TABLE请参见MSDN

这是一个使用示例Sp_rename

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

文档sp_rename

2021-03-08