文档解释
ORA-08464: input raw decimal data contains more than 42 digits
Cause: The input raw buffer passed to a UTL_PG RAW_TO_NUMBER conversion routine contained more than 42 digits. This exceeds the maximum size of an Oracle number.
Action: Correct the raw input buffer.
等
ORA-08464 错误表明给定的原始十进制数据中含有超过 42 位的数字。
官方解释
ORA-08464: 输入的原始十进制数据中包含超过 42 位的数字
此错误消息指示输入的原始十进制数据中包含超过 42 位的数字。
发生此错误的一个常见的案例是,当用户尝试把一个长于 42 位的纯数字字符串(比如,电话号码)转换成数字时可能会发生此错误。
此错误可以通过使用 PL/SQL 来处理并且保存数据,而不是直接从应用程序传输数据来解决。
正常处理方法及步骤
1. 确认一个包含超过42位的原始数据已经被输入;
2. 使用 PL/SQL 来处理并保存输入的原始数据;
3. 根据 PL/SQL 来转换并保存数据;
4. 使用转换后的数值来替换超过42位的原始数据;
5. 从应用程序中删除原始数据;
6. 确保转换后的数据可以正确地插入数据库中。