• oracle 修改字段类型方法


    因为业务需要,修要修改某个字段数据类型有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 ;

  • 相关阅读:
    read
    df,du,mount
    cat,tac,more
    Makefile内嵌函数
    PHP常量详解:define和const的区别
    微信小程序之this.setData
    二维码支付原理分析及安全性的探究
    php 原生文件下载
    php原生实现图片上传和查看
    php文件的处理和操作
  • 原文地址:https://www.cnblogs.com/dogxuefeng/p/2729782.html
Copyright © 2020-2023  润新知