m.metric_key as metricKey, m.dimension as dimension, m.last_sent as lastSent INSERT INTO telemetry_metrics_sent ( metric_key, dimension, last_sent ) VALUES ( #{metricKey, jdbcType=VARCHAR}, #{dimension, jdbcType=VARCHAR}, #{lastSent, jdbcType=BIGINT} ) ON CONFLICT (metric_key, dimension) DO UPDATE SET last_sent = EXCLUDED.last_sent MERGE INTO telemetry_metrics_sent AS target USING (VALUES ( #{metricKey, jdbcType=VARCHAR}, #{dimension, jdbcType=VARCHAR}, #{lastSent, jdbcType=BIGINT} )) AS source (metric_key, dimension, last_sent) ON target.metric_key = source.metric_key AND target.dimension = source.dimension WHEN MATCHED THEN UPDATE SET last_sent = source.last_sent WHEN NOT MATCHED THEN INSERT (metric_key, dimension, last_sent) VALUES (source.metric_key, source.dimension, source.last_sent) MERGE INTO telemetry_metrics_sent target USING ( SELECT #{metricKey} AS metric_key, #{dimension} AS dimension, #{lastSent} AS last_sent FROM dual ) source ON (target.metric_key = source.metric_key AND target.dimension = source.dimension) WHEN MATCHED THEN UPDATE SET target.last_sent = source.last_sent WHEN NOT MATCHED THEN INSERT (metric_key, dimension, last_sent) VALUES (source.metric_key, source.dimension, source.last_sent) MERGE INTO telemetry_metrics_sent AS target USING ( SELECT #{metricKey} AS metric_key, #{dimension} AS dimension, #{lastSent} AS last_sent ) AS source (metric_key, dimension, last_sent) ON (target.metric_key = source.metric_key AND target.dimension = source.dimension) WHEN MATCHED THEN UPDATE SET target.last_sent = source.last_sent WHEN NOT MATCHED THEN INSERT (metric_key, dimension, last_sent) VALUES (source.metric_key, source.dimension, source.last_sent);