Oracle修改字段类型方法总结

转载 2017年01月03日 11:38:07
转自    http://blog.csdn.net/gdjlc/article/details/23762549/

有一个表名为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修改字段类型,从number(2)改为number(2,1)

今天下午,自己做东西时,发现个小问题,当时建立数据表的时候,把course的course_credit字段建为了number(2)型,这导致了输入类似于:4.5时,精度丢失,打算改表字段的类型,可是该...

Oracle修改字段类型

 例:有一个表名为t1,字段段名为deptno,数据类型NUMBER(2),想将改字段的数据类型修改为varchar2(20)。 1、假设字段数据为空,则不管改为什么字段类型,可以直接...

oracle变更数据表字段类型

  • 2014年02月26日 20:05
  • 6KB
  • 下载

主从复制在丛库修改字段类型导致复制异常及解决方法

主从复制环境中,通过主从库滚动升级的方式实现升级,首先升级slave,完成后,互换slave与master的角色,然后再升级原master(新slave)。升级过程中如果遇到修改字段定义,可能会出现复...

利用代码修改数据库字段类型

  • 2012年11月27日 19:56
  • 4KB
  • 下载

图片转二进制存入oracle字段类型为Blob(取出二进制转图片并显示),图片带路径

1.带图片路径的图片上传至文件夹并转换为二进制存入oracle数据库字段为Blob类型(图片存入数据库方式,inputstream转blob) jsp页面: java控制类: Blo...

Oracle学习笔记 --- 数据库的字段类型

Oracle学习笔记 --- 数据库的字段类型

oracle字段类型blob,clob,nclob

高手znp的面试必问问题其中之一就是这个,另一个是JAVA的8种基本数据类型。 今天咱也好好学学这个东西。 说明:三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceoso...
  • e_wsq
  • e_wsq
  • 2011年12月13日 20:02
  • 559

Oracle数据库中关于日期和时间字段类型

与日期有关的有三种类型:date,timestamp与interval。DATE和TIMESTAMP类型存储精度可变的固定日期/时间,二者区别是,后者秒可以精确到小数,另外还可以有时区之分。。INTE...

Oracle 11g PL/SQL程序块,存储图片等BLOB字段类型的列PL/

Oracle 11g PL/SQL程序块,存储图片等BLOB字段类型的列 例如:把一个人的图片放入PERSON表的photo列中 一、在Oracle中创建,一个存储图片的目录逻辑,其与硬盘中的图片存储...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle修改字段类型方法总结
举报原因:
原因补充:

(最多只允许输入30个字)