Я искал ответ на этот вопрос в течение нескольких дней и не могу найти ничего, касающегося этой указанной c проблемы.
Прежде всего, должен ли он работать, если я хочу использовать оператор INSERT INTO SELECT для копирования строк таблицы обратно в ту же таблицу, но с измененными новыми идентификаторами и 1 столбца?
Пример:
INSERT INTO TABLE_A (column1, column2, column3) SELECT column1, 'value to change', column3 from TABLE_A where column 2 = 'original value';
Когда я пытаюсь это сделать в базе данных DB2 я получаю следующую ошибку:
НЕВЕРНАЯ ВСТАВКА НЕСКОЛЬКИХ СТРОК. SQLCODE = -533, SQLSTATE = 21501, DRIVER = 4.18.60
Если я выполняю тот же оператор, но я помещаю указанный c ID для возврата в оператор выбора, гарантируя, что только 1 строка будет вернулся, значит заявление работает. Но это противоречит тому, что я пытаюсь сделать: скопировать несколько строк из одной и той же таблицы в себя, обновляя указанный столбец c до нового значения.
Спасибо всем!