加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2014-03-31 10:15:42)
标签:

oracle

更改表结构

ora-01440

dba

数据库

分类: 工作相关



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

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

http://s14/mw690/002mPZCkgy6HJwhpj2ddd&690

 

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

1、对XX_TYCCY表的数据进行备份

create table XX_TYCCY_bak  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

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

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有