ORA-01438 错误

Posted

技术标签:

【中文标题】ORA-01438 错误【英文标题】:ORA-01438 Error 【发布时间】:2011-08-16 17:12:09 【问题描述】:

谁能帮我解决这个例外?

ORA-01438: 该列允许的值大于指定的精度

ORA-06512:在“DM001.DFEE_AFT_IUD_JOURNAL”第 58 行

ORA-04088:执行触发器“DM001.DFEE_AFT_IUD_JOURNAL”时出错 ORA-06512:第 4 行

【问题讨论】:

编辑您的问题以显示您的代码和表格 DDL。 ora-01438.ora-code.com 发生的事情是主键设置为 NUMBER(3),当值达到 999 时,序列开始抛出此错误。这就是为什么当一切都没有改变时,它似乎不知从何而来。 【参考方案1】:

您正在尝试将值存储到比表的列定义允许的长度更长的记录字段中。

您的列可能被定义为 NUMBER(3),但您尝试在其中存储更长的数字,例如 1250。

【讨论】:

【参考方案2】:

您正试图在任何“精度”大于定义的列中插入一个值。

【讨论】:

【参考方案3】:

您可能尝试输入大于创建表时定义的值(即 varchar2(4) -> 尝试的值 10000)

【讨论】:

以上是关于ORA-01438 错误的主要内容,如果未能解决你的问题,请参考以下文章

捕获导致 ORA-01438 的列:值大于此列允许的指定精度

插入 3 时出现“ORA-01438: 值大于此列允许的指定精度”

插入 3 时出现“ORA-01438: 值大于此列允许的指定精度”

ORA-01438: 大于指定精度的值允许此列 - 我如何获得它所指的列?

oracle-ORA-00942错误

ORA-01438: 该列允许的值大于指定的精度