用[重命名表]

时间:2012-09-13 14:05:10

标签: tsql sql-server-2008-r2

当表名包含']'字符时,我无法找到在T-SQL中重命名表的正确语法。

似乎sp_rename过程不使用与T-SQL DDL相同的转义规则。

如何做到这一点?

CREATE SCHEMA MySchema

CREATE TABLE [MySchema].[MyTab]]le5](
    [Id] [bigint] IDENTITY(1,1) NOT NULL,
    [SomeField] [bigint] NULL,
    [MyField] [nvarchar](4000) NULL)

EXEC sp_rename 'MySchema.MyTa]ble5', 'MyTable6'

1 个答案:

答案 0 :(得分:4)

使用与CREATE TABLE ...

相同的语法
EXEC sp_rename 'MySchema.[MyTab]]le5]', 'MyTable6'

或依靠SET QUOTED_IDENTIFIER ON和不同的分隔符

EXEC sp_rename 'MySchema."MyTab]le5"', 'MyTable6'