Forudsat at du ikke har indstillet en præcision i starten, antages det at være maksimum (38). Du reducerer præcisionen, fordi du ændrer den fra 38 til 14.
Den nemmeste måde at håndtere dette på er at omdøbe kolonnen, kopiere dataene over og derefter slippe den oprindelige kolonne:
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;
Hvis du virkelig ønsker at beholde kolonnerækkefølgen, kan du i stedet flytte dataene to gange:
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;