ORA-01440:要减小精度或标度,则要修改的列必须为空
2015-04-26 00:00
281 查看
ORA-01440:要减小精度或标度,则要修改的列必须为空
上周在技术群里有人问了这么一个问,就是在pl/sql中执行语法报错:“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;
在工作中,我们业务库也有需要这样改表结构的时候,记录一下,省的以后忘记了不知道怎么办了。
上周在技术群里有人问了这么一个问,就是在pl/sql中执行语法报错:“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;
在工作中,我们业务库也有需要这样改表结构的时候,记录一下,省的以后忘记了不知道怎么办了。
相关文章推荐
- ORA-01440 要减小精度或者标度.则要修改的列必须为空.
- ora-01440:要减小精度或标度,则要修改的列必须为空
- ora-01440:要减小精度或标度,则要修改的列必须为空
- ora-01440:要减小精度或标度,则要修改的列必须为空
- ora-01440:要减小精度或标度,则要修改的列必须为空
- ora-01440:要减小精度或标度,则要修改的列必须为空
- ora-01440:要减小精度或标度,则要修改的列必须为空
- ora-01440:要减小精度或标度,则要修改的列必须为空
- ORA-01440:要减小精度和标准,则要修改的列必须为空
- ORA-01439: 要更改数据类型, 则要修改的列必须为空
- ORA-01439:要更改数据类型,则要修改的列必须为空
- 更改表数据类型:ORA-01439:要更改数据类型,则要修改的列必须为空
- ORA-01439:要更改数据类型,则要修改的列必须为空
- ORA-01439:要更改数据类型,则要修改的列必须为空
- ORA-01439:要更改数据类型,则要修改的列必须为空
- 修改background_dump_dest等参数重启后报ORA-32004
- 对于SVN如何设置 修改时必须Lock
- Oracle修改监听IP地址---- hostname必须填127.0.0.1的问题----除本机外其它电脑连接不了本机oracle数据服务器
- ORA-01779:无法修改与非键值保存表对应的列
- eclipse中jetty启动maven项目,调试debug时,修改js文件必须关闭jetty才能保存