2011-10-16 55 views
0

任何人都可以告訴我如何重命名該表嗎?重命名SQL表test ['] 2

test[']2 

我在每一個合併審理EXEC sp_rename 'test['']2', 'abc' ..它失敗Syntax error parsing SQL identifier

我曾嘗試以下

EXEC sp_rename 'test['']2', 'abc'; 
EXEC sp_rename 'test[]'']2', 'abc'; 
EXEC sp_rename '[test['']2]', 'abc'; 
EXEC sp_rename '[test[]'']2]', 'abc'; 
EXEC sp_rename [test[]']2], 'abc'; 
EXEC sp_rename [test[']2], 'abc'; 

有任何人任何其他的想法?


SOLUTION

如果你遇到同樣的問題,並希望安全地重命名錶,這裏是對代碼的鏈接

它是基於使用表的OBJECT_ID這你從SYS.TABLES得到,但你可以很容易地修改代碼,使用一個表名

Rename MSSQL Table

+1

您正在使用什麼RDBMS? –

+0

對不起,忘了提。 MSSQL 2008 R2 – Christian

回答

1

找到了!

我錯過了一個組合。答案是

exec sp_rename '[test ['']] 2]', 'abc';

-1

你可以檢查QUOTED_IDENTIFIER設置

+0

運行DBCC UserOptions,QUOTED_IDENTIFIER的值爲SET – Christian

1

試試這個:

exec sp_rename '"test['']"', 'abc' 
+0

感謝鯊魚,但我得到了答案。錯過了一個組合:)'exec sp_rename'[test ['']] 2]','abc';' – Christian

+0

@Christian沒有問題:)有幾種方法可以讓肌膚看起來像諺語的貓。 – 2011-10-16 16:26:07