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

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

错误:

MSG 156,第15级,状态1,第1行不正确的语法“ Into”。 MSG 102,15级,状态1,第2行不正确的语法附近的“ CT_VALUE”。

有帮助吗?

解决方案 2

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

其他提示

尝试

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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top