Estoy tratando de hacer una inserción/actualización de una sola fila en una tabla, pero todos los ejemplos que hay son para conjuntos.sintaxis para fila única MERGE/upsert en SQL Server
¿Alguien puede arreglar mi sintaxis favor:
MERGE member_topic ON mt_member = 0 AND mt_topic = 110
WHEN MATCHED THEN UPDATE SET mt_notes = 'test'
WHEN NOT MATCHED THEN INSERT (mt_member, mt_topic, mt_notes) VALUES (0, 110, 'test')
Resolución por marc_s es convertir la hilera a una sub consulta - que me hace pensar el comando MERGE no está realmente destinado a upserts de una sola hilera.
MERGE member_topic
USING (SELECT 0 mt_member, 110 mt_topic) as source
ON member_topic.mt_member = source.mt_member AND member_topic.mt_topic = source.mt_topic
WHEN MATCHED THEN UPDATE SET mt_notes = 'test'
WHEN NOT MATCHED THEN INSERT (mt_member, mt_topic, mt_notes) VALUES (0, 110, 'test');
Hmm , las líneas están espaciadas tan cerca en mi navegador que algunos de los guiones bajos no se muestran. – Jacob