3
我在sql server 2012中有一個sql表,我需要重命名。我知道在其他數據庫系統執行此的方法如下:使用sp_rename重命名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 =表。這是必需的嗎?
的'ALTER TABLE ...重命名...'語法上沒有任何SQL Server版本有效我曾與之合作過 - 它不出現在[MSDN]上(http://technet.microsoft.com/en-us/library/ms190273%28v=sql.90%29.aspx)。從一個快速的谷歌它似乎是postgresql語法。 – Bridge
確實。即使[MSDN](http://technet.microsoft.com/zh-cn/library/aa337520.aspx)在其示例中列出了「sp_rename」。 (另外,重新:LOCK_ENCAPSULATION,http://stackoverflow.com/questions/1703597/lock-escalation-whats-happening-here) –