【问题标题】:For loop variable having NULL value对于具有 NULL 值的循环变量
【发布时间】: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 没有删除这个问题。请发布您自己的答案。我相信其他人会觉得它很有帮助。

标签: oracle plsql plsqldeveloper


【解决方案1】:

您确定counter 是问题所在吗? recordsbatch 的值是多少

【讨论】:

  • 你是说这是被零除还是什么引起的? (看一个类似的问题,偶然发现了这个问题,但内容并不多。)
  • 这是一种选择。我的另一个想法是将recordsbatch 设置为null,任何除以null 的东西都会返回null
  • 我遇到了同样的问题。是的,如果记录或批次为空,它将在 for 语句行抛出 ORA-06512 错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-25
  • 1970-01-01
  • 2016-12-01
  • 2014-01-07
  • 2019-03-10
  • 2021-12-12
  • 2016-07-26
相关资源
最近更新 更多