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"

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

         

        

原文地址:https://www.cnblogs.com/python-kp/p/9753432.html