zoukankan      html  css  js  c++  java
  • oracle如何修改字段类型(oracle总体知识2)

    在一次做开发的时候,遇到需要将数据表的字段类型由number改成varchar,可是该字段又有值,

    用  alter table t-name modify cname newType;会报错。

    话说,当时在网上没找到合适的解决办法,很苦恼!

    今天在博客园看到解决这个问题的办法,很nice,分享!

    当要修改的字段有值的时候,不能更改字段类型

    两种解决办法:    

                 1、   > 新增一列,列类型与要修改的新类型一致;       

                         >将旧列的值赋给新列(需强制类型转换);       

                         > update tname set cname_new=cast(cname_old as 新类型)       

                         >删除旧列。    

    这种办法,改变了列在表里面的位置。

                2、      >新增一列,列类型与旧列相同;       

                          >将旧列的值赋给新列,旧列的值变为null;       

                          update tname set cname_new =cname_old;       

                         > 更改旧列的字段类型(此时为null,可以修改)       

                          alter table tname modify cname_old  newType;       

                         > 将新列的值赋给旧列;       

                          update tname set cname_old=cname_new;       

                          >删除新列。

    相关sql语句:

          

                          查看oracle版本:select * from v$version;

                          更新字段名:alter table 表名 rename column 旧列名 to 新列名;

                          新增字段:   alter table 表名 add 列名 列类型;

                          新增字段并赋值: alter table 表名 add 列名 列类型 default 默认值;      

                          删除字段:  alter table 表名 drop column 列名;

                          修改字段值:update 表名 set 列名=value where ...

                          修改字段类型: alter table 表名 modify 列名 类型;

    参考:http://www.cnblogs.com/david-zhang-index/archive/2012/04/10/2441015.html

  • 相关阅读:
    【2】KNN:约会对象分类器
    Android学习笔记_69_android 支付宝之网页支付和快捷支付
    风吹过你走的那一刻,带走了你最后的足印,抹拭了我唯一追寻的方向
    The connection to adb is down, and a severe error has occured.
    RSA加密算法
    Android动画之translate(位移动画)
    Android学习笔记_68_ android 9patch 图片
    android:TableLayout表格布局详解
    Android 中 shape 图形的使用
    Android学习笔记_67_Android MyCrashHandler 中异常处理 UncaughtExceptionHandler
  • 原文地址:https://www.cnblogs.com/dftencent/p/3881124.html
Copyright © 2011-2022 走看看