我写的这个合并脚本没有编译,我相信我的语法正确。
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'附近的语法不正确。
答案 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。