' - '附近的语法不正确.(Microsoft SQL Server Native Client 10.0)

Sat*_*iya 3 sql sql-server ssis syntax-error

在做SSIS工作时,我的create table查询出错了

' - '附近的语法不正确.(Microsoft SQL Server Native Client 10.0)

SQL语句:

CREATE TABLE Staging_ACD_Precision_Queue 
(
    PrecisionQueueID int,
    BucketIntervalID int,
    EnterpriseName varchar(32),
    AgentOrdering int,
    CallOrdering int,
    Description varchar(255),
    ServiceLevelThreshold int,
    ServiceLevelType smallint,
    ForceExpandingQueue varchar(1),
    Deleted varchar(1),
    ChangeStamp int,
    Partner varchar(4),
    Center varchar(4),
    Partner-Center varchar(9),
    LOB varchar(4),
    Circle varchar(4),
    TypeOfBusiness varchar(4)
)
Run Code Online (Sandbox Code Playgroud)

我尝试了上面的查询.我想从错误消息,问题是,Partner-Center varchar(9)但我没有修复此错误.由于我是SSIS和SQL查询的新手,我不知道如何解决这个问题.

在此输入图像描述

Don*_*nal 9

你需要放置方括号Partner-Center,例如[Partner-Center].字段名称中不允许使用嵌入空格或特殊字符,但可以通过将字段名称放在方括号内来转义它们.

CREATE TABLE Staging_ACD_Precision_Queue (
    PrecisionQueueID int,
    BucketIntervalID int,
    EnterpriseName varchar(32),
    AgentOrdering int,
    CallOrdering int,
    Description varchar(255),
    ServiceLevelThreshold int,
    ServiceLevelType smallint,
    ForceExpandingQueue varchar(1),
    Deleted varchar(1),
    ChangeStamp int,
    Partner varchar(4),
    Center varchar(4),
    [Partner-Center] varchar(9),
    LOB varchar(4),
    Circle varchar(4),
    TypeOfBusiness varchar(4)
)
Run Code Online (Sandbox Code Playgroud)

正如其他人在此处所述,我也建议您避免在字段名称中使用连字符,并使用Partner_CenterPartnerCenter作为字段名称而不是Partner-Center.

  • +1,正确,你需要方括号`[Partner-Center] varchar(9)`,但我建议你避免使用任何特殊字符的名字.我们的命名标准可以防止任何特殊字符.此外,这个列看起来很奇怪,就像前两列('Partner varchar(4),Center varchar(4)`)一样,这是多余的组合数据吗?没有通过我的气味测试. (3认同)