Oracle_不删除表中数据,修改表中字段类型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30999361/article/details/84229618

数据库表名称为:TX_Separateout
现想将TX_Separateout 中的Comcode字段由原来的number类型修改为varchar2(20)

–修改一个字段的类型
alter table TX_Separateout modify comcode number;
当所修改的字段下内容不为空时无法修改:
在这里插入图片描述

解决办法:

–修改原字段名comcode 为comcodeNew
alter table TX_Separateout rename column comcode to comcodeNew;

–增加一个和原字段名同名的字段comcode
alter table TX_Separateout add comcode varchar2(20);

–将原字段comcodeNew数据更新到增加的字段comcode
update TX_Separateout set comcode=trim(comcodeNew);

–更新完,删除原字段comcodeNew
alter table TX_Separateout drop column comcodeNew;
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_30999361/article/details/84229618