SQL Server MERGE语句中的错误

时间:2018-02-15 22:54:40

标签: sql sql-server

我正在尝试撰写MERGE声明。如果记录存在,请更新它。如果它不存在,请插入它。

此查询运行,但表示“0行受影响”。我知道add_id为'3'不存在,所以我希望它插入一行。我究竟做错了什么?对不起,我以前从未写过合并查询。

MERGE INTO dbo.delay AS TARGET 
USING (SELECT * FROM dbo.delay WHERE add_id = 3) AS SOURCE ON (Source.add_id = Target.add_id)

WHEN MATCHED 
   THEN UPDATE SET my_value = 22 
WHEN NOT MATCHED BY TARGET
   THEN INSERT (add_id, my_value) VALUES (1, 22);

0 个答案:

没有答案