oracle 修改某字段小数位精度 需要字段未empty的解决办法
2017-04-01 00:00
621 查看
摘要: 解决:ORA-01440: column to be modified must be empty to decrease precision or scale
执行:alter table bosp_htjs_material_information modify taxrate number(16,3);
直接执行如果有数据会有报错:ORA-01440: column to be modified must be empty to decrease precision or scale
数据不是非常大的情况下解决办法:1.备份表数据,2.清空原表对应列 3.修改字段精度。4.同步更新数据值。5.截断备份的临时表并删除
--1.create table BOSP_HTJS_MATERIAL_BAK as select * from BOSP_HTJS_MATERIAL_INFORMATION;
select * from BOSP_HTJS_MATERIAL_BAK;
--2.update BOSP_HTJS_MATERIAL_INFORMATION MI set MI.FEED_NUM = null;
select * from BOSP_HTJS_MATERIAL_INFORMATION;
--3.alter table BOSP_HTJS_MATERIAL_INFORMATION modify FEED_NUM number(16,3);
--4.update BOSP_HTJS_MATERIAL_INFORMATION MI set MI.FEED_NUM = (
select MB.FEED_NUM from BOSP_HTJS_MATERIAL_BAK MB where MB.id = MI.id
);
--5.truncate table BOSP_HTJS_MATERIAL_BAK;drop table BOSP_HTJS_MATERIAL_BAK;
执行:alter table bosp_htjs_material_information modify taxrate number(16,3);
直接执行如果有数据会有报错:ORA-01440: column to be modified must be empty to decrease precision or scale
数据不是非常大的情况下解决办法:1.备份表数据,2.清空原表对应列 3.修改字段精度。4.同步更新数据值。5.截断备份的临时表并删除
--1.create table BOSP_HTJS_MATERIAL_BAK as select * from BOSP_HTJS_MATERIAL_INFORMATION;
select * from BOSP_HTJS_MATERIAL_BAK;
--2.update BOSP_HTJS_MATERIAL_INFORMATION MI set MI.FEED_NUM = null;
select * from BOSP_HTJS_MATERIAL_INFORMATION;
--3.alter table BOSP_HTJS_MATERIAL_INFORMATION modify FEED_NUM number(16,3);
--4.update BOSP_HTJS_MATERIAL_INFORMATION MI set MI.FEED_NUM = (
select MB.FEED_NUM from BOSP_HTJS_MATERIAL_BAK MB where MB.id = MI.id
);
--5.truncate table BOSP_HTJS_MATERIAL_BAK;drop table BOSP_HTJS_MATERIAL_BAK;
相关文章推荐
- 手动修改spfile.ora文件导致oracle启动不了的解决办法
- 系统提示"System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本"解决办法
- oracle 中 create table tb_content_bak as select * from tb_content where 1=2 long字段解决办法
- oracle 修改过ip地址或者主机名后服务无法启动的解决办法
- Oracle修改时间报:ORA-01830: 日期格式图片在转换整个输入字符串之前结束的解决办法
- 系统提示"System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本"解决办法
- oracle表中多个字段同时和另一个表中关联解决办法
- ORACLE 10G修改主机名后EM Enterprise Manager无法启动的解决办法-Robert
- oracle 触发器中修改基表解决办法
- oracle-Temporary Tablespace is Empty解决办法-009
- 发布网站,ORACLE需要更高版本支持的错误解决办法
- "System.Data.OracleClient 需要 Oracle客户端软件8.1.7或更高版本"的解决办法
- 出现 "System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本" 错误的解决办法
- System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本 解决办法
- Windows Server 2003中的IIS 6.0默认设置是特别严格和安全的,最大只能传送 204800个字节,我们需要修改,以允许从IE中上传更大的附件。解决办法是
- PDO取Oracle lob大字段,当数据量太大无法取出的问题的解决办法
- oracle修改计算机名后重启服务失败解决办法
- SSIS ORACLE NUMBER 字段出错解决办法
- Oracle修改时间报:ORA-01830: 日期格式图片在转换整个输入字符串之前结束的解决办法
- Oracle修改时间报:ORA-01830: 日期格式图片在转换整个输入字符串之前结束的解决办法