码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2021-04-29 11:47:37      阅读:0      评论:0      收藏:0      [点我收藏+]

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

在plsql修改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   

原文地址:https://www.cnblogs.com/youyou6666/p/14714404.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!