Oracle 修改字段的精度和长度

首先,新增一个符合进度和长度符合要求的字段。

alter table tb_test add name_temp number(19,4);

增加字段注释。

comment on column tb_test.name_temp  is '名称';

将原始name列的值全都更新到name_temp ,原始列可以不设置为空,毕竟是要删除的。

update tb_test set name_temp =name,name=null;

commit; 

删除原始列。

alter table tb_test drop column name;

更改name_temp的名称为name。

alter table tb_test rename column name_temp to name;

 

这种方式会将列的顺序更改,但是只需要一此update数据就行。

如果你要求不更改字段顺序的话,就要将原始字段清空,再执行更改字段精度和长度的sql,因为要修改字段的精度和长度必须是该字段的值都是空。

 

你可能感兴趣的:(数据库,Java,oracle)