Syntax für einzeiliges MERGE / upsert in SQL Server

Ich versuche, eine einzelne Zeile einzufügen / zu aktualisieren, aber alle Beispiele sind für Mengen.

Kann jemand meine Syntax bitte reparieren:

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')

Die Auflösung pro marc_s besteht darin, die einzelne Zeile in eine Unterabfrage umzuwandeln. Aus diesem Grund ist der Befehl MERGE meines Erachtens nicht wirklich für Einzelzeilen-Upserts gedacht.

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');

Antworten auf die Frage(2)

Ihre Antwort auf die Frage