【发布时间】:2018-05-18 17:29:47
【问题描述】:
我有一个 oracle pl/sql 匿名块,在 for 循环中有一个隐式游标,它以这种方式嵌套在 for 循环中:
FOR secuence IN 1..3 LOOP
FOR registro_notificacion IN (
SELECT 'data' FROM my_table WHERE my_table.column1=secuence)
LOOP
--work with data
END LOOP; END LOOP;
当我在 secuence=1 上返回值而在其他值上为空时,就会出现问题,因为由于某种原因,隐式游标本身不是 clean。
因此,在secuence=2 上,我应该什么都不做,因为没有数据,但由于某种原因,它仍然在第一个循环(secuence=1) 上返回了数据。
我应该在每次迭代结束时声明并显式地关闭游标吗?虽然我考虑使用 3 个循环,每个 secuence 值一个,但这不是我猜的想法。
【问题讨论】: