ORA-01438: 值大于此列允许的指定精度
有时,我们会从合作伙伴的数据库中收到以下错误:
<i>ORA-01438: value larger than specified precision allows for this column</i>
完整响应如下所示:
<?xml version="1.0" encoding="windows-1251"?>
<response>
<status_code></status_code>
<error_text>ORA-01438: value larger than specified precision allows for this column ORA-06512: at "UMAIN.PAY_NET_V1_PKG", line 176 ORA-06512: at line 1</error_text>
<pay_id>5592988</pay_id>
<time_stamp></time_stamp>
</response>
导致此错误的原因是什么?
We get sometimes the following error from our partner's database:
<i>ORA-01438: value larger than specified precision allows for this column</i>
The full response looks like the following:
<?xml version="1.0" encoding="windows-1251"?>
<response>
<status_code></status_code>
<error_text>ORA-01438: value larger than specified precision allows for this column ORA-06512: at "UMAIN.PAY_NET_V1_PKG", line 176 ORA-06512: at line 1</error_text>
<pay_id>5592988</pay_id>
<time_stamp></time_stamp>
</response>
What can be the cause for this error?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

发布评论
评论(9)
长发绾君心2024-07-15 00:22:15
来自 http://ora-01438.ora-code.com/ (权威资源Oracle 支持之外):
ORA-01438:值大于此列允许的指定精度
原因:插入或更新记录时,输入的数值超出了为列定义的精度。
操作:输入符合数字列精度的值,或使用 MODIFY 选项和 ALTER TABLE 命令来扩展精度。
http://ora-06512.ora-code.com/:
ORA -06512:在字符串行
原因:堆栈因未处理的异常而展开时出现回溯消息。
操作:修复导致异常的问题或为此情况编写异常处理程序。 或者您可能需要联系您的应用程序管理员或 DBA。
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
您尝试存储的数字对于该字段来说太大了。 查看规模和精度。 两者之间的区别在于可以存储的小数点前面的位数。
低端的任何内容都会被截断(默默地)
The number you are trying to store is too big for the field. Look at the SCALE and PRECISION. The difference between the two is the number of digits ahead of the decimal place that you can store.
Anything at the lower end gets truncated (silently)