对于具有 NULL 值的循环变量
Posted
技术标签:
【中文标题】对于具有 NULL 值的循环变量【英文标题】:For loop variable having NULL value 【发布时间】:2011-10-24 17:31:47 【问题描述】:我有这个变量声明
counter INTEGER := 0; /* loop counter */
然后是像这样的for循环
FOR counter IN 1 .. CEIL(records / batch)
LOOP
执行点一到这里就抛出执行。
ORA-01086: savepoint 'SP1' never established in this session or is invalid
ORA-06512: at "MALI521.PRVSAPUPD", line 421
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 8
现在 SP1 保存点已在 for 循环中建立。代码在 for 循环出现时失败,因为那里的计数器变量具有 NULL 值。
有什么想法吗?
请删除它。我想通了。
【问题讨论】:
x.509 没有删除这个问题。请发布您自己的答案。我相信其他人会觉得它很有帮助。 【参考方案1】:您确定counter
是问题所在吗? records
和 batch
的值是多少
【讨论】:
你是说这是被零除还是什么引起的? (看一个类似的问题,偶然发现了这个问题,但内容并不多。) 这是一种选择。我的另一个想法是将records
或batch
设置为null,任何除以null
的东西都会返回null
。
我遇到了同样的问题。是的,如果记录或批次为空,它将在 for 语句行抛出 ORA-06512 错误。以上是关于对于具有 NULL 值的循环变量的主要内容,如果未能解决你的问题,请参考以下文章