2011-01-27 63 views
0

我正在写这个合并脚本不编译,我相信我有正确的语法。SQL Server 2008-合并脚本不工作

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,行 关键字 '到' 附近有语法错误。 Msg 102,Level 15,State 1,Line 2 'ct_value'附近的语法不正确。

回答

0

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

+0

哈哈这发生在我身上也。这样的时刻。 – arviman 2011-10-25 23:48:56

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); 
+0

感谢您的帮助:) – contactmatt 2011-01-30 03:13:59