【发布时间】:2012-05-31 06:44:40
【问题描述】:
我正在努力理解MERGE sql 语句。我想要实现的是:
在CSScolorOrders 表中插入新值,但如果colID 和ordID 的记录已经存在,则更新corQuantity 列
这就是我最终的结果:
MERGE INTO CSScolorOrders AS TARGET
USING (SELECT * FROM CSScolorOrders WHERE ordID = 3) AS SOURCE
ON (SOURCE.colID = 1) WHEN
MATCHED THEN UPDATE SET corQuantity = 1
WHEN
NOT MATCHED BY TARGET
THEN INSERT (colID, ordID, corQuantity) VALUES (1, 3, 1);
不幸的是它没有引发任何异常,所以我不知道为什么它不起作用。
【问题讨论】:
-
@Sebas 这是 SQL 2K8。这是 T-SQL 特定语法 AFAIK。
-
我明白了,很抱歉,我当时以为我可以暂时伸出援手,但很遗憾没有。 rgds.
标签: sql sql-server-2008 merge