oracle修改已存在数据的字段类型


      第一次使用oracle数据库,在通过Navicat premium工具修改字段类型时,发现报“ORA-01439: column to be modified must be empty to change datatype ”的错误,百度后才发现oracle修改字段类型比较麻烦。

      总体修改过程可分为以下几个步骤:

       (1)新增一个临时字段

         alter table "athletes_age" add "tmp_col" VARCHAR2(255);       //tmp_col为新增的临时字段

       (2)将要修改的字段数据赋予新增的临时字段

         update "athletes_age" set "tmp_col" = "field3";                 //field3为要修改的字段

       (3)将要修改的字段置空

          update "athletes_age" set "field3" = null;

       (4)修改字段类型

         alter table "athletes_age" modify("fields3" Number(8));

       (5)将临时字段的值再赋回给修改字段

         update "athletes_age" set "field3" = "tmp_col";

       (6)删除掉临时字段

         alter table "athletes_age" drop column "tmp_col"

        然后,然后就可以了!!!

 

         

        

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM