MERGE SuperCache AS target USING (SELECT ? AS CacheKey) AS source ON (target.CacheKey = source.CacheKey) WHEN MATCHED THEN UPDATE SET CacheValue = ?, Expiry = ? WHEN NOT MATCHED THEN INSERT (CacheKey, CacheValue, Expiry) VALUES (?, ?, ?);