【问题标题】:SQL Server 2008 R2 : Merge QuerySQL Server 2008 R2:合并查询
【发布时间】:2015-03-01 04:00:06
【问题描述】:

我对@9​​87654321@ 使用以下语法:

MERGE INTO studentinfo as Target
USING StudentInfo_Temp as Source ON Target.Form Number = Source.Form Number

WHEN MATCHED THEN
   UPDATE 
      SET Target.Form Number = Source.Form Number

WHEN NOT MATCHED THEN
   INSERT ([Form Number], [Academic Program]) 
   VALUES (Source.Form Number, Source.Academic Program);

但是我在上面一行得到一个错误

on Target.Form Number = Source.Form Number

如果我用 Taget.ID = Source.ID 替换它,它工作正常,所以我假设我必须以其他方式写一个名称中有空格的列。

对正确的语法有什么建议吗?

【问题讨论】:

    标签: sql-server-2008-r2 sql-merge


    【解决方案1】:

    使用方括号将值括起来:

    Target.[Form Number] = Source.[Form Number]
    

    有关详细信息,请参阅documentation 中的分隔标识符部分

    【讨论】:

    • 哦,谢谢,我是这样做的 [Target.Form Number ] :)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 2015-08-01
    • 2013-03-19
    • 1970-01-01
    相关资源
    最近更新 更多