我正在尝试撰写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);