У меня проблема с миграцией данных в Oracle DB во время некоторых обновлений релиза.Перенос данных в Oracle DB с использованием SQL
Корпус:
- Таблица X в версии 1 имеет три coulmns.
- Та же таблица X в выпуске 2 имеет пять столбцов (два добавленных в релизе 2).
- ту же таблицу в выпуске 3 имеет пять столбцов, как в версии 2.
- Обновление путей включают в себя Выпуск 1 Выпуск 3 и Release 2 к выпуску 3.
Мне нужен запрос Oracle SQL, который копирует данные из таблицы TMP в фактическую таблицу в обоих случаях на основе размера coulmns из TMP, где я временно хранил данные (это должно быть сделано).
Ниже приведен запрос, который я пробовал, но он не работает.
insert into USER.X values
(CASE (select count(*) from all_tab_columns where table_name='TMP')
WHEN '3' THEN (select USER.TMP.*, null NEWCOL1 from USER.TMP, null NEWCOL2 from USER.TMP)
WHEN '5' THEN (select USER.TMP.* from USER.TMP)
END
);
Пожалуйста, помогите в этом, и если есть лучший способ сделать то же самое, пожалуйста, дайте мне знать.
не работает? как правило, он помогает разместить точную ошибку. Это редкий случай, когда я могу сказать. вместо 'values (a, b, c);' use 'select a, b, c from dual;' –