如果我有一个包含这些记录的游标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列而不进行循环?
答案 0 :(得分:2)
没有。游标是指向执行查询的程序的指针。您只能从光标中获取。 Oracle本身不知道光标返回的最后一行是什么,直到您尝试获取一行并发现没有其他行要返回。
当然,您可以修改查询,以便在单独的列中返回最后一行的CNT
(假设您有某种方式对行进行排序,以便“最后一行”是有意义的概念)。