Oracle
 sql >> Datenbank >  >> RDS >> Oracle

BigDecimal-Präzision wurde bei JPA-Anmerkungen nicht beibehalten

Ich habe die Antwort gefunden. Hurra!

Ich habe versucht, die folgende Abfrage über die Oracle Apex-Schnittstelle auszuführen:

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

Ich habe eine Fehlermeldung erhalten, die besagt, dass eine Spalte mit Daten nicht geändert werden kann, um eine geringere Genauigkeit oder einen geringeren Maßstab zu haben. Das war mein Problem!

Da ich versuchte, die Tabelle mit vorhandenen Daten zu ändern, musste ich die Tabelle entweder löschen und neu initialisieren oder die Spalte ändern, um nur mehr Genauigkeit und Skalierung zu haben.

Ich habe die folgende Abfrage erfolgreich versucht:

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

Der Grund dafür ist, dass ich 7 Stellen der Genauigkeit rechts von der Dezimalstelle hinzufügen möchte, also füge ich 7 zur Gesamtgenauigkeit hinzu, um die Vergrößerung der Skala auszugleichen. Auf diese Weise kann die Spalte die gesamte vorhandene Genauigkeit links von der Dezimalstelle beibehalten, während die Genauigkeit auf der rechten Seite hinzugefügt wird.