Dengan asumsi bahwa Anda tidak menetapkan presisi pada awalnya, itu dianggap maksimum (38). Anda mengurangi presisi karena Anda mengubahnya dari 38 menjadi 14.
Cara termudah untuk menangani ini adalah dengan mengganti nama kolom, menyalin data, lalu melepaskan kolom aslinya:
alter table EVAPP_FEES rename column AMOUNT to AMOUNT_OLD;
alter table EVAPP_FEES add AMOUNT NUMBER(14,2);
update EVAPP_FEES set AMOUNT = AMOUNT_OLD;
alter table EVAPP_FEES drop column AMOUNT_OLD;
Jika Anda benar-benar ingin mempertahankan urutan kolom, Anda dapat memindahkan data dua kali sebagai gantinya:
alter table EVAPP_FEES add AMOUNT_TEMP NUMBER(14,2);
update EVAPP_FEES set AMOUNT_TEMP = AMOUNT;
update EVAPP_FEES set AMOUNT = null;
alter table EVAPP_FEES modify AMOUNT NUMBER(14,2);
update EVAPP_FEES set AMOUNT = AMOUNT_TEMP;
alter table EVAPP_FEES drop column AMOUNT_TEMP;