Sto provando a eseguire un inserimento/aggiornamento di riga singola su un tavolo ma tutti gli esempi disponibili sono per gli insiemi.per riga singola MERGE/upsert in SQL Server
Chiunque può risolvere la mia sintassi per favore:
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')
Risoluzione per marc_s è quello di convertire la singola riga di una sottointerrogazione - che mi fa pensare il comando merge non è realmente inteso per singolo upserts fila.
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 , le linee sono spaziate così vicine nel mio browser che alcuni dei caratteri di sottolineatura non vengono visualizzati. – Jacob