详解Oracle修改字段类型方法总结

所属分类: 数据库 / oracle 阅读数: 1223
收藏 0 赞 0 分享

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

有一个表名为tb,字段段名为name,数据类型nchar(20)。

1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:

alter table tb modify (name nvarchar2(20));

2、假设字段有数据,则改为nvarchar2(20)可以直接执行:

alter table tb modify (name nvarchar2(20));

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

/*修改原字段名name为name_tmp*/

alter table tb rename column name to name_tmp;

/*增加一个和原字段名同名的字段name*/

alter table tb add name varchar2(40);

/*将原字段name_tmp数据更新到增加的字段name*/

update tb set name=trim(name_tmp);

/*更新完,删除原字段name_tmp*/

alter table tb drop column name_tmp;

总结:

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

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

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

更多精彩内容其他人还在看

Oracle批量插入数据的三种方式【推荐】

本文给大家带来三种oracle批量插入数据的方法,每种方法都是通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
收藏 0 赞 0 分享

Oracle数据库自带表空间的详细说明

这篇文章主要介绍了Oracle数据库自带表空间的详细说明,文中给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle锁处理、解锁方法

本文通过实例代码较详细的给大家介绍了Oracle锁处理、解锁方法,需要的朋友可以参考下
收藏 0 赞 0 分享

浅析Oracle中sys、system和Scott用户下的数据库连接问题

这篇文章主要介绍了关于Oracle中sys、system和Scott用户下的数据库连接问题,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle表空间数据库文件收缩案例解析

这篇文章主要介绍了Oracle表空间数据库文件收缩案例解析,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle 日志挖掘(LogMiner)使用详解

这篇文章主要介绍了Oracle 日志挖掘(LogMiner)使用,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

maven添加oracle依赖失败问题的处理方法

这篇文章主要介绍了maven添加oracle依赖失败问题的处理方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Flume监听oracle表增量的步骤详解

这篇文章主要介绍了Flume监听oracle表增量的步骤详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Window下Oracle Database 11g 发行版2安装教程

这篇文章主要为大家详细介绍了Window下Oracle Database 11g 发行版2安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Oracle 11g 安装配置图文教程

这篇文章主要为大家详细介绍了Oracle 11g 安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多