Я хочу обновить несколько записей, используя один запрос на обновление в MS Access. Я придерживался идеи, упомянутой в этом ответе (https://stackoverflow.com/a/65027/2935885) о вставке нескольких записей с использованием одного запроса.
когда я пытаюсь выполнить этот запрос, он работает:
UPDATE my_table left join (select 'rowid' as col_1, 'updated_value' as col_2 from onerow) new_values ON my_table.col_1 = new_values.col_1 set my_table.col_2 = new_values.col_2
(пустая пустая таблица)
Однако, когда я расширяю его на несколько строк новых значений, MS Access выдает ошибку «Операция должна использовать обновляемый запрос».
UPDATE my_table left join (
select 'rowid1' as col_1, 'updated_value1' as col_2 from onerow
union all
select 'rowid2' as col_1, 'updated_value2' as col_2 from onerow
union all
select 'rowid3' as col_1, 'updated_value3' as col_3 from onerow
) new_values ON my_table.col_1 = new_values.col_1 set my_table.col_2 = new_values.col_2
Как это исправить? Или что не так в запросе, который я сделал?