dot*_*etE 3 sql sql-server sql-server-2012
我在sql server 2012中有一个sql表,我需要重命名.我知道在其他数据库系统中执行此操作的方法如下:
ALTER TABLE table_name
RENAME TO new_table_name;
Run Code Online (Sandbox Code Playgroud)
但是,似乎SQL Server需要不同的语法.从SQL Management Studio我在设计视图中重命名了表,然后右键单击Generate Change Script,它产生了以下内容:
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
Run Code Online (Sandbox Code Playgroud)
使用sp_rename是重命名的最佳实践吗?
还有一个额外的行来生成lock_esclation = table.这需要吗?
Bri*_*dge 14
我猜(稍微讽刺)的答案是使用的优点sp_rename是它实际上是SQL Server上的有效语法,而前者仅在PostgreSQL(文档)上有效.
要查看有效选项ALTER TABLE- 请参阅MSDN.
以下是使用示例Sp_rename:
EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
Run Code Online (Sandbox Code Playgroud)
(文档上sp_rename)
| 归档时间: |
|
| 查看次数: |
10017 次 |
| 最近记录: |