0

テーブル名に「]」文字が含まれている場合、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'
4

1 に答える 1

4

CREATETABLE..と同じ構文を使用します。

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

または、SETQUOTED_IDENTIFIERONと別の区切り文字を使用します

EXEC sp_rename 'MySchema."MyTab]le5"', 'MyTable6'
于 2012-09-13T14:13:34.297 に答える