获取光标的最后一条记录

时间:2013-01-18 17:45:48

标签: oracle plsql cursor

如果我有一个包含这些记录的游标cur

DEPTNO ENAME  ORD   CNT                        
10     KING   1      3                      
10     CLARK  2      3                      
10     MILLER 3      3                      
20     JONES  1      5 

我得到了这样的光标记录:

FOR i IN cur LOOP
  --Process
END LOOP;

现在我需要增强我的流程并进行检查,如果最后一条记录的CNT列的值等于5,我不需要导航到这个游标。

有没有办法直接获取光标的最后一条记录来测试CNT列而不进行循环?

1 个答案:

答案 0 :(得分:2)

没有。游标是指向执行查询的程序的指针。您只能从光标中获取。 Oracle本身不知道光标返回的最后一行是什么,直到您尝试获取一行并发现没有其他行要返回。

当然,您可以修改查询,以便在单独的列中返回最后一行的CNT(假设您有某种方式对行进行排序,以便“最后一行”是有意义的概念)。