Oracle 对于具有空值的循环变量

Oracle 对于具有空值的循环变量,oracle,plsql,plsqldeveloper,Oracle,Plsql,Plsqldeveloper,我有一个变量声明 counter INTEGER := 0; /* loop counter */ 然后是for循环 FOR counter IN 1 .. CEIL(records / batch) LOOP 执行点一到这里就抛出execption ORA-01086: savepoint 'SP1' never established in this session or is invalid ORA-06512: at "MALI521.PRVSAPUPD", line

我有一个变量声明

counter INTEGER := 0;        /* loop counter */
然后是for循环

FOR counter IN 1 .. CEIL(records / batch)
LOOP
执行点一到这里就抛出execption

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循环出现时就失败了,因为那里的计数器变量有空值

有什么想法吗


请删除它。我想出来了。

你确定
计数器有问题吗?
记录
批处理

x的值是多少。509不删除此问题。请发表你自己的答案。我相信其他人会觉得这很有帮助。你是说这是由零除或其他原因造成的吗?(看着一个类似的问题,无意中发现了这个问题,但内容并不多。)这是一个选择。我的另一个想法是
记录
批处理
设置为空,任何除以
null
的值都将返回
null
。我遇到了同样的问题。是的,如果记录或批处理为null,它将在for语句行抛出ORA-06512错误。