从PLSQL游标中获取两条记录

Han*_*any 1 plsql

我的问题很简短.我创建了一个游标来从我的表中获取一些值.我想获取光标的当前记录(获取的记录)和光标中的下一条记录而不提取它,因为我想对当前记录和下一条记录进行计算.在传统的编程中,它是一个简单的操作; 你可以通过将它增加1来使用for index来实现.

你有什么建议吗?

APC*_*APC 6

我想对当前记录和下一条记录进行计算.

假设你正在使用Oracle,这可以在SQL中使用分析函数,特别是lead()函数来完成.这将从下一个第n条记录中检索列的值(默认n = 1).

SQL> select empno
  2         , sal as this_sal
  3         , lead(sal) over (order by empno) as next_sal
  4  from emp
  5  order by empno
  6  /

     EMPNO   THIS_SAL   NEXT_SAL
---------- ---------- ----------
      7369        800       1600
      7499       1600       1250
      7521       1250       2975
      7566       2975       1250
      7654       1250       2850
      7698       2850       2450
....
Run Code Online (Sandbox Code Playgroud)

此查询可以在游标或任何其他机制中使用以检索记录.