度量快速开发平台-专业、快速的软件定制快开平台

标题: 详解Oracle修改字段类型方法总结 [打印本页]

作者: fteair    时间: 2020-2-10 21:30

作者: 陈晓龙    时间: 2020-6-12 17:37
标题: 详解Oracle修改字段类型方法总结
本篇文章主要介绍了Oracle修改字段类型方法总结,小编觉得不错,非常具有实用价值,有兴趣的可以了解一下。




最近学习了Oracle修改字段类型方法,留做记录。

有一个表名为tb,字段段名为name,数据类型nchar(20)。
1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
1
alter table tb modify (name nvarchar2(20));



2、假设字段有数据,则改为nvarchar2(20)可以直接执行:
1
alter table tb modify (name nvarchar2(20));



3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题:
/*修改原字段名name为name_tmp*/
1
alter table tb rename column name to name_tmp;



/*增加一个和原字段名同名的字段name*/
1
alter table tb add name varchar2(40);



/*将原字段name_tmp数据更新到增加的字段name*/
1
update tb set name=trim(name_tmp);



/*更新完,删除原字段name_tmp*/
1
alter table tb drop column name_tmp;



总结:

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助。



作者: 张兴康    时间: 2020-6-13 13:56

作者: 陈晓龙    时间: 2020-6-13 14:38
张兴康 发表于 2017-1-13 13:56


作者: 张兴康    时间: 2020-6-16 13:42

作者: 陈晓龙    时间: 2020-6-17 10:05
张兴康 发表于 2017-1-16 13:42


作者: 张兴康    时间: 2020-6-17 13:51

作者: 陈晓龙    时间: 2020-6-18 14:10
张兴康 发表于 2017-1-17 13:51


作者: 张兴康    时间: 2020-6-19 13:46

作者: 陈晓龙    时间: 2020-6-19 14:04
张兴康 发表于 2017-1-19 13:46


作者: 张兴康    时间: 2020-6-20 15:09

作者: 陈晓龙    时间: 2020-6-20 17:50
张兴康 发表于 2017-1-20 15:09


作者: 张兴康    时间: 2020-6-22 14:26

作者: 陈晓龙    时间: 2020-6-23 15:43
张兴康 发表于 2017-1-22 14:26






欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2