Я конвертирую очень старый Oracle DB в Postgres, где большая часть точности столбцов numeri c отсутствует, однако в структуре таблицы Postgres присутствует точность тех же столбцов, я я получаю множество ошибок переполнения numeri c при перемещении данных из Oracle DB в Postgres.
Теперь я хочу обновить все эти значения без точности до наибольшего числа точности в база данных oracle, поэтому я пытаюсь создать сценарий обновления, используя структуру таблицы Postgres, которая может помочь мне найти все поврежденные строки в oracle.
Мой запрос выглядит следующим образом (для запуска на Postgres), который я хочу изменить, чтобы получить сценарий обновления, который я могу запустить на oracle DB, чтобы получить поврежденные значения.
select 'update ' ||table_name || 'set ' || column_name || '=' || (numeric_precision - numeric_scale) || ' where column_name > ' || (numeric_precision - numeric_scale) from information_schema.columns where table_schema='test' and data_type='numeric';
Теперь здесь ( numeric_precision - numeric_scale ), если он возвращает значение 3, я хочу заменить его на 999, если оно равно 4, тогда я хочу, чтобы это было 9999.
Пожалуйста, дайте мне знать, как это возможно, я хочу запустить этот запрос на Postgres DB, а затем я запустил полученный скрипт на Oracle DB?