有谁能告诉我如何重命名这张桌子?
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';
还有其他任何想法吗?
解
如果您遇到同样的问题并希望安全地重命名表,这里是代码的链接
它基于使用从sys.tables获取的表的object_id,但您可以轻松地更改代码以使用表名
答案 0 :(得分:1)
发现它!
我错过了一个组合。答案是
exec sp_rename '[test ['']] 2]', 'abc';
答案 1 :(得分:1)
试试这个:
exec sp_rename '"test['']"', 'abc'
答案 2 :(得分:-1)
您可以查看QUOTED_IDENTIFIER设置