当前位置: 首页 > news >正文

Oracle修改Number类型精度报错:ORA-01440

修改Number类型的字段的精度SQL

ALTER TABLE XXXX MODIFY RATE NUMBER(30,6);

如果表已经存在数据,报错信息如下:

ORA-01440: column to be modified must be empty to decrease precision or scale

废话不多说,解决方案如下:

1、备份数据表

CREATE TABLE XXXX_NEW AS SELECT * FROM XXXX;

XXXX:数据表名,XXXX_NEW:新数据表名

2、添加临时字段

ALTER TABLE XXXX ADD RATE_TMP NUMBER(30,6);

临时字段精度确保为需要调整的进度

3、复制旧字段数据到临时字段

UPDATE XXXX SET RATE_TMP = RATE;

4、清除旧字段数据

UPDATE XXXX SET RATE = NULL;

5、修改旧字段精度

ALTER TABLE XXXX MODIFY RATE NUMBER(30,6);

6、将临时字段数据更新回旧字段

UPDATE XXXX SET RATE = RATE_TMP;

7、删除临时字段

ALTER TABLE XXXX DROP COLUMN RATE_TMP;

总结:此方案,借用过渡字段进行调整,别不是直接修改原有字段(前提需要确定数据字段精度是否兼容)。

http://www.lryc.cn/news/323991.html

相关文章:

  • 美团到店-后端开发一面
  • 面试算法-77-括号生成
  • webpack5零基础入门-12搭建开发服务器
  • opengl日记10-opengl使用多个纹理示例
  • 锂电池寿命预测 | Matlab基于ALO-SVR蚁狮优化支持向量回归的锂离子电池剩余寿命预测
  • 动态规划15 | ● 392.判断子序列 ● *115.不同的子序列
  • APP UI自动化测试思路总结
  • Codeforces Round 936 (Div. 2)
  • yolov6实现遥感影像目标识别|以DIOR数据集为例
  • stable-diffusion-electron-clickstart 支持windows AMD显卡
  • ES进程除了kill之外,有什么优雅关闭的方式吗?
  • 院子摄像头的监控
  • SpringBoot3使用响应Result类返回的响应状态码为406
  • 基础:TCP四次挥手做了什么,为什么要挥手?
  • Android Studio实现内容丰富的安卓校园二手交易平台(带聊天功能)
  • 第十一届蓝桥杯省赛第一场真题
  • 设计模式 模板方法模式
  • 【STM32嵌入式系统设计与开发】——6矩阵按键应用(4x4)
  • 乐优商城(九)数据同步RabbitMQ
  • XSS-labs详解
  • 设计模式——模板方法模式封装.net Core读取不同类型的文件
  • [思考记录]技术欠账
  • React - 实现菜单栏滚动
  • 线性筛选(欧拉筛选)-洛谷P3383
  • 企业微信可以更换公司主体吗?
  • Qt教程 — 3.6 深入了解Qt 控件:Display Widgets部件(2)
  • Golang案例开发之gopacket抓包三次握手四次分手(3)
  • 如何减少pdf的文件大小?pdf压缩工具介绍
  • TypeScript基础类型
  • 长安链智能合约标准协议第二草案——BNS与DID协议邀请社区用户评审