oracle 修改字段类型的方法

转载 2017年01月03日 14:15:10

今天公司因为业务需要,修要修改某个字段数据类型有number(5),变为number(5,2)型

要是没有数据的话直接用以下语句即可

alter   table  tb_test  modify permile  number(5,2);

但是有数据的话 就不能用上面方法了,

alter table tb_test add permile_temp number(5,2)

update tb_test set  permile_temp=permile;

alter table drop column permile;

alter  table test rename column  permile_temp to permile;

这种方法会使列名发生变化,而且字段顺序增加 有可能发生行迁移,对应用程序会产生影响

以下方法是比较好的方法

不用使列名发生变化 也不会发生表迁移,但这个有个缺点是表要更新两次

如果数据量较大的话 产生的undo和redo更多 ,前提也是要停机做

要是不停机的话 ,也可以采用在线重定义方式来做 

以下是脚本:

alter table tb_test  add permile_temp number;
-- Add/modify columns 
alter table  tb_test  modify PERMILE null;
update  tb_test  set permile_temp=permile,permile=null;
commit;
alter table  tb_test  modify permile number(5,2);
update  tb_test  set permile=permile_temp,permile_temp=null;
commit;
alter table  tb_test  drop column permile_temp;
alter table  tb_test  modify PERMILE not null;
select * from  tb_test ;

oracle varchar2改成大字段类型clob,读取大字段内容

oracle varchar2改成大字段类型,如果varchar2内容
  • cai7095576
  • cai7095576
  • 2014年04月18日 10:38
  • 3759

oracle修改字段数据类型

最近项目中有这样一个变动,需要修改数据库中某个字段类型。但是,表中已经存在大量数据了。DML句:"alter table 表名 modify 字段名  新数据类型 " 只对空表起作用,当存在数据时,不...
  • liusong0605
  • liusong0605
  • 2014年03月20日 13:35
  • 1830

Oracle中表列由VARCHAR2类型改成CLOB

Oracle表列由VARCHAR2类型改成CLOB
  • jssg_tzw
  • jssg_tzw
  • 2014年11月05日 22:30
  • 8125

oracle修改字段类型,从number(2)改为number(2,1)

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

Oracle修改字段类型

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

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

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

oracle变更数据表字段类型

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

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

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

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

Oracle学习笔记 --- 数据库的字段类型
  • u012965373
  • u012965373
  • 2016年08月11日 19:34
  • 429

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

1.带图片路径的图片上传至文件夹并转换为二进制存入oracle数据库字段为Blob类型(图片存入数据库方式,inputstream转blob) jsp页面: java控制类: Blo...
  • caisenbinbeida2009
  • caisenbinbeida2009
  • 2012年12月04日 09:29
  • 5148
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 修改字段类型的方法
举报原因:
原因补充:

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