ORA-01440:要减小精度或标度,则要修改的列必须为空
ORA-01440:要减小精度或标度,则要修改的列必须为空
唐小唐 发表于3年前
ORA-01440:要减小精度或标度,则要修改的列必须为空
  • 发表于 3年前
  • 阅读 162
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

ORA-01440:要减小精度或标度,则要修改的列必须为空

   上周在技术群里有人问了这么一个问,就是在pl/sql中执行语法报错:“ORA-01440:要减小精度或标度,则要修改的列必须为空”,这个报错应该很明显了,提示应该怎么做了。但是一般这个时候更改数据结构肯定是业务需要,而改不了是因为表中已经有数据了。

ORA-01440:要减小精度或标度,则要修改的列必须为空

 

现在一定要改表结构,一般性的是将资料导出来再来修改了。更简便快捷的方法,把需要的表备份一份,改好之后再还原回去就好了。然后可以把备份的表删除。现在按照上面的表名(这家伙的表名也真奇葩)举个例子:

1、对productinfo表的productid进行备份

create table XX_TYCCY_bak as as select * from XX_TYCCY;

2、删除XX_TYCCY表内的数据

  delete  from XX_TYCCY;

3、修改表结构

 alter table XX_TYCCY  modify CTZ number(8,3);

4、还原表数据

insert into XX_TYCCY select * from XX_TYCCY_bak

在工作中,我们业务库也有需要这样改表结构的时候,记录一下,省的以后忘记了不知道怎么办了。


共有 人打赏支持
粉丝 2
博文 24
码字总数 20125
×
唐小唐
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: