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: 值大于此列允许的指定精度”