当前位置:Gxlcms > 数据库问题 > plsql ORA-01439:要更改数据类型,则要修改的列必须为空

plsql ORA-01439:要更改数据类型,则要修改的列必须为空

时间:2021-07-01 10:21:17 帮助过:24人阅读

修改ASRS_TASKDETAIL_RV 表字段GRADE 类型时遇到报错:“ORA-01439:要更改数据类型,则要修改的列必须为空”。

是因为要修改字段的新类型和原来的类型不兼容。


--1、修改原字段名name为临时字段name_new;

alter table ASRS_TASKDETAIL_RV rename column GRADE to GRADE_new ;

--2、添加一个新字段名称和原来字段名相同,name,类型为要修改的新类型;VARCHAR2(30)

alter table ASRS_TASKDETAIL_RV add(GRADE INTEGER);

--3、把临时字段name_new的数据更新到新添加的字段name中;

update ASRS_TASKDETAIL_RV set GRADE = trim(GRADE_new);

--4、删除临时字段name_new;

alter table ASRS_TASKDETAIL_RV drop column GRADE_new ;

plsql ORA-01439:要更改数据类型,则要修改的列必须为空

标签:integer   name   类型   kde   lte   删除   style   rename   var   

人气教程排行