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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值