oracle之Oracle NUMBER 类型是否可能溢出
我正在使用名为 Appworx 的进程调度软件。其中,每个进程和子进程都可以有任意数量的“条件”,如果条件为真,则采取一些条件 Action 。
可能的条件操作之一是 goto 语句,其中一个普通整数是标签(每个条件从 1 开始编号)。我想使用此功能在循环中评估和运行一些任务,但您只能转到更高编号的条件(不要问我为什么......这似乎毁了大部分实用程序)。
我有理由相信,这一切都是Oracle在后台评估的。查看 Appworx 的架构后,goto 标签似乎都是 NUMBER(12,0)。我怀疑检查标签是否低于当前条件的逻辑是这样的:
where label > current_condition
因此,如果我要提供一个具有足够高值的 goto,我认为它会欺骗检查并允许我执行简单的循环。至少如果 Oracle 使用普通整数。是否有可能溢出它们,我将使用什么值将值溢出回 1?
我想 Oracle 版本很重要,如果是的话,它是 11g。
另外,如果有人愿意为我重新标记这个,请添加“appworx”
请您参考如下方法:
Oracle 数实际上是具有 40 位十进制有效数字的 float 。
所以,它们不能溢出。
(10^40-1) 是可以增加 1 的最大整数。
proof
NUMBER(12,0) 是 NUMBER 类型的子类型。
也就是说,它由 NUMBER 类型和一个限制检查器组成。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。