zoukankan      html  css  js  c++  java
  • Oracle中如何修改已存在数据的列名的数据类型

    在oracle中,如何修改已存在数据列名的数据类型

    一般人直接在表结构设计这里修改,这里只适合修改列没有数据,可修改

    那么,如何这个列是有数据,是怎么修改的呢?

    直接修改会Oracle错误

    第一步:先创建一个新列名,名字跟修改的名称一样(多了个1),数据类型改成要修改的(如varchar(100))

    第二步:将原列名的数据备份到新列名中,执行赋值操作

    --将旧列名的数据迁到新列名---
    update TMS_DELIVERY_ITEM_BOX set ITEM_BILL1=ITEM_BILL

    第三步:找到tables下columns下的旧列名,删除旧列名

    第四步:找到table下columns下的新列名,重命名(去掉1)

    第五步:检查数据表列名的数据和数据类型(查看)

     也可以单纯用SQL语句进行修改,如

    /*修改原字段名name为name_tmp*/
    alter table Dxc_Receive_Notice rename column ORDERNUM to ORDERNUM_TEMP;
    /*增加一个和原字段名同名的字段name*/
    alter table Dxc_Receive_Notice add ORDERNUM NUMBER(19,5);
    /*将原字段name_tmp数据更新到增加的字段name*/
    update Dxc_Receive_Notice set ORDERNUM=trim(ORDERNUM_TEMP);
    /*更新完,删除原字段name_tmp*/
    alter table tb drop column name_tmp;

    参考网址: https://www.csdn.net/gather_28/MtTaQgwsNDg1Mi1ibG9n.html

  • 相关阅读:
    分段、分页&&内存碎片、外存碎片
    mysql中的事务处理
    算法的在线演示网站
    为什么要使用树以及使用什么树
    平衡多叉树--B-Tree(B树)
    MVCC--多版本并发控制机制
    mysql中的锁
    平衡二叉树--红黑树(RB-Tree)
    平衡二叉树--AVL树
    自平衡方式--旋转
  • 原文地址:https://www.cnblogs.com/xielong/p/11021823.html
Copyright © 2011-2022 走看看