关于Oracle如何修改字段类型

   日期:2020-08-07     浏览:94    评论:0    
核心提示:有一个表名为TTRD_STRATEGY,字段段名为AUTHOR_USER_ID,数据类型varchar(40)。1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table ttrd_strategy modify (author_user_id varchar2(20));2、假设字段有数据,则改为varchar2(100)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题:/*修改原字段名aut

有一个表名为TTRD_STRATEGY,字段段名为AUTHOR_USER_ID,数据类型varchar(40)。
1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:

alter table ttrd_strategy modify (author_user_id varchar2(20));

2、假设字段有数据,则改为varchar2(100)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题:


alter table TTRD_STRATEGY rename column AUTHOR_USER_ID to name_tmp;

alter table TTRD_STRATEGY add AUTHOR_USER_ID varchar2(100);

update TTRD_STRATEGY set AUTHOR_USER_ID=trim(name_tmp);

alter table TTRD_STRATEGY drop column name_tmp;

总结:
1、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。

2、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服