Search notes:

ORA-01440: column to be modified must be empty to decrease precision or scale

create table tq84_t (
    id   integer,
    num  number(6,3),
    txt  varchar2(10)
);
begin
insert into tq84_t values(1, 111.11, 'one'  );
insert into tq84_t values(4, 444.44, 'four' );
insert into tq84_t values(7, 777.77, 'seven');
insert into tq84_t values(8, 888.88, 'eight');
end;
/
The following statement throws ORA-01440: column to be modified must be empty to decrease precision or scale.
alter table tq84_t modify num number(5,2);
alter table tq84_t add num_copy number(5,2);
update tq84_t set num_copy = num, num = null;
alter table tq84_t modify num number(5,2);
update tq84_t set num = num_copy;
alter table tq84_t drop column num_copy;
select * from tq84_t;
Cleaning up
drop table tq84_t;

See also

Other Oracle error messages such as ORA-01442: column to be modified to NOT NULL is already NOT NULL

Index