SQL Server 2008 - 合并脚本无法正常工作

时间:2011-01-27 20:29:50

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

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

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

错误:

第15行,第1行,第1行,第1行 关键字'into'附近的语法不正确。 Msg 102,Level 15,State 1,Line 2 'ct_value'附近的语法不正确。

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

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