Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Precyzja BigDecimal nie została zachowana z adnotacjami JPA

Znalazłem odpowiedź. Huza!

Próbowałem wykonać następujące zapytanie przez interfejs Oracle Apex:

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

Otrzymałem błąd informujący, że kolumna zawierająca dane nie może zostać zmodyfikowana tak, aby miała mniejszą precyzję lub mniejszą skalę. To był mój problem!

Ponieważ próbowałem zmienić tabelę z istniejącymi danymi, musiałem albo usunąć tabelę i ponownie ją zainicjować, albo zmienić kolumnę, aby uzyskać tylko większą precyzję i skalę.

Pomyślnie wykonałem następujące zapytanie:

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

Rozumowanie jest takie, że chcę dodać 7 miejsc precyzji po prawej stronie przecinka, więc dodaję 7 do ogólnej precyzji, aby zrekompensować wzrost skali. W ten sposób kolumna może zachować całą istniejącą precyzję po lewej stronie przecinka, jednocześnie dodając precyzję po prawej stronie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskaj liczbę wszystkich tabel w schemacie

  2. Czy xmlparserv2 z com.oracle.jdbc:ojdbc8 (v12.2.0.1) nagle uległ uszkodzeniu?

  3. Jak wywołać funkcję Oracle z kursorem Ref jako parametrem wyjściowym z C#?

  4. Automatyczne generowanie pliku odpowiedzi

  5. Mam wstawkę w oświadczeniu, ale jest błąd z przecinkiem i po prostu nie mogę go naprawić