问题现象
在 YashanDB 上执行 Oracle 同样的建表语句,插入同样的数据,包含大的整型数字,在 Oracle 执行成功,在 YashanDB 执行失败,报错 SQL 错误 [13] [22000]: [line: 0 column: 0] YAS-00013 value is larger than INTEGER allowed ,是怎么回事?


问题的风险及影响
大整型数字插入
问题影响的版本
YashanDB 版本:所有版本
解决方法及规避方式
1 、原因核查
正常 int 类型取值范围是 -231 (-2,147,483,648) ~ 231 - 1 (2,147,483,647)
YashanDB 的设计规格是符合此常规的:

问题中的整型数字有 16 位,已经远超了 int 类型的最大值。核查 Oracle 中表的定义,发现实际建表语句发生变更:

核查 Oracle 资料,可知 在 Oracle 数据库中,整数类型通常使用的数据类型是 NUMBER , INT 不是 Oracle 的标准数据类型,有些开发工具会将其映射为 NUMBER 。
2 、解决方法
修改字段为 Number 或 Bigint
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70043300/viewspace-3073319/ ,如需转载,请注明出处,否则将追究法律责任。