MERGE INTO retry_summary AS target USING ( VALUES ( #{item.namespaceId}, #{item.groupName}, #{item.sceneName}, #{item.triggerAt}, #{item.runningNum}, #{item.finishNum}, #{item.maxCountNum}, #{item.suspendNum} ) ) AS source (namespace_id, group_name, scene_name, trigger_at, running_num, finish_num, max_count_num, suspend_num) ON target.namespace_id = source.namespace_id AND target.group_name = source.group_name AND target.scene_name = source.scene_name AND target.trigger_at = source.trigger_at WHEN MATCHED THEN UPDATE SET target.running_num = source.running_num, target.finish_num = source.finish_num, target.max_count_num = source.max_count_num, target.suspend_num = source.suspend_num WHEN NOT MATCHED THEN INSERT (namespace_id, group_name, scene_name, trigger_at, running_num, finish_num, max_count_num, suspend_num) VALUES (source.namespace_id, source.group_name, source.scene_name, source.trigger_at, source.running_num, source.finish_num, source.max_count_num, source.suspend_num);