【问题标题】:SQL Server 2008 - Merge Script not workingSQL Server 2008 - 合并脚本不起作用
【发布时间】:2011-01-27 20:29:49
【问题描述】:

我正在编写的这个合并脚本没有编译,我相信我的语法是正确的。

MERGE into MyTable ct_current
USING (SELECT '0%' as Description, '0' as ShareAmount) ct_value
    ON ct_current.ShareAmount = ct_value.ShareAmount
WHEN MATCHED THEN 
    UPDATE SET ct_current.Description = '0%'
WHEN NOT MATCHED THEN
    INSERT (Description, ShareAmount)
    VALUES (ct_value.Description, ct_value.ShareAmount);
GO

错误:

消息 156,级别 15,状态 1,行 1 关键字“into”附近的语法不正确。 消息 102,第 15 级,状态 1,第 2 行 'ct_value' 附近的语法不正确。

【问题讨论】:

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


    【解决方案1】:

    试试

    MERGE MyTable AS ct_current
    USING (SELECT '0%' as Description, '0' as ShareAmount) ct_value
      ON ct_current.ShareAmount = ct_value.ShareAmount
    WHEN MATCHED THEN 
      UPDATE SET ct_current.Description = '0%'
    WHEN NOT MATCHED THEN
      INSERT (Description, ShareAmount)
      VALUES (ct_value.Description, ct_value.ShareAmount);
    

    【讨论】:

      【解决方案2】:

      我意识到我有 SQL Server 2008 R2 客户端,但服务器是 SQL Server 2005。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-25
        • 2020-09-12
        • 2011-10-01
        相关资源
        最近更新 更多