MERGE INTO job_summary AS target USING ( VALUES ( #{item.namespaceId}, #{item.groupName}, #{item.businessId}, #{item.triggerAt}, #{item.systemTaskType}, #{item.successNum}, #{item.failNum}, #{item.failReason}, #{item.stopNum}, #{item.stopReason}, #{item.cancelNum}, #{item.cancelReason} ) ) AS source (namespace_id, group_name, business_id, trigger_at, system_task_type, success_num, fail_num, fail_reason, stop_num, stop_reason, cancel_num, cancel_reason) ON target.namespace_id = source.namespace_id AND target.business_id = source.business_id WHEN MATCHED THEN UPDATE SET target.success_num = source.success_num, target.fail_num = source.fail_num, target.fail_reason = source.fail_reason, target.stop_num = source.stop_num, target.stop_reason = source.stop_reason, target.cancel_num = source.cancel_num, target.cancel_reason = source.cancel_reason WHEN NOT MATCHED THEN INSERT (namespace_id, group_name, business_id, trigger_at, system_task_type, success_num, fail_num, fail_reason, stop_num, stop_reason, cancel_num, cancel_reason) VALUES (source.namespace_id, source.group_name, source.business_id, source.trigger_at, source.system_task_type, source.success_num, source.fail_num, source.fail_reason, source.stop_num, source.stop_reason, source.cancel_num, source.cancel_reason);