Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

170
Visualizações
Desbordamiento numérico al convertir Oracle a PostgreSQL

Estoy convirtiendo una base de datos de Oracle muy antigua a Postgres donde falta la mayor parte de la precisión de las columnas numéricas, sin embargo, en la estructura de la tabla de Postgres, la precisión de las mismas columnas está presente, obtengo una gran cantidad de errores de desbordamiento numérico al mover datos de Base de datos Oracle a Postgres.

Ahora, quiero actualizar todos los valores sin precisión al mayor número de precisión en la base de datos de Oracle, por lo tanto, estoy tratando de crear un script de actualización usando una estructura de tabla de Postgres que puede ayudarme a encontrar todas las filas dañadas en El oráculo.

Mi consulta es la siguiente (para ejecutarse en Postgres), que quiero modificar para obtener el script de actualización que puedo ejecutar en Oracle DB para obtener los valores corruptos.

 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';

Ahora aquí ( numeric_precision - numeric_scale ) si devuelve un valor 3, entonces quiero reemplazarlo con 999 en caso de que sea 4, entonces quiero que sea 9999.

¿Puede alguien decirme cómo es esto posible? Quiero ejecutar esta consulta en Postgres DB y luego ejecutaré el script resultante en Oracle DB.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Puede usar la longitud de su resultado (numeric_precision - numeric_scale) para agregar el patrón que prefiera usando LPAD

 LPAD('', length((numeric_precision - numeric_scale)), '9' )
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda