sql >> Base de Datos >  >> RDS >> Oracle

La precisión BigDecimal no se mantuvo con las anotaciones JPA

Encontré la respuesta. ¡Hurra!

Intenté ejecutar la siguiente consulta a través de la interfaz de Oracle Apex:

alter table NODE modify (WEIGHTEDSCORE NUMBER(12, 9));

Recibí un error que indica que una columna que contiene datos no se puede modificar para tener menos precisión o menos escala. ¡Este era mi problema!

Debido a que estaba intentando modificar la tabla con los datos existentes, necesitaba soltar la tabla y reiniciarla, o modificar la columna para tener más precisión y escala.

Intenté la siguiente consulta con éxito:

alter table NODE modify (WEIGHTEDSCORE NUMBER(26, 9));

El razonamiento es que quiero agregar 7 lugares de precisión a la derecha del decimal, por lo que estoy agregando 7 a la precisión general para compensar el aumento de escala. De esa forma, la columna puede mantener toda la precisión existente a la izquierda del decimal mientras agrega precisión en el lado derecho.