Oracle数据库修改Number字段属性

在Oracle数据库中,我们会因为一些需求或其他原因要修改数据库的字段属性,但是直接用语句:
alter table TEST_TABLE modify (TEST_AGE NUMBER (3) DEFAULT null );

会出现以下的错误日志:

这是因为数据库中,该列已经有数据了,我们需要写以下语句就能解决此问题了:

--修改原字段名TEST_AGE为TEST_AGE_TMP
alter table TEST_TABLE rename column name to TEST_AGE_TMP;

--增加一个和原字段名同名的字段TEST_AGE
alter TEST_TABLE  add TEST_AGE NUMBER(3);

--将原字段TEST_AGE_TMP数据更新到增加的字段TEST_AGE
update TEST_TABLE set TEST_AGE=trim(TEST_AGE_TMP);

--更新完,删除原字段TEST_AGE_TMP
alter table TEST_TABLE drop column TEST_AGE_TMP;
应该就可以了

发布了6 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u014568015/article/details/51172065
今日推荐