当前位置: 代码迷 >> Oracle管理 >> cursor 结果集的count数,该如何处理
  详细解决方案

cursor 结果集的count数,该如何处理

热度:665   发布时间:2016-04-24 04:44:45.0
cursor 结果集的count数
我open一个cursor后,想知道结果集一共有几条记录,如果不用loop循环cursor,怎样获得呢

看了%rowcount好像只返回当前结果的num

------解决方案--------------------
引用:
fetch one more column : COUNT(1) OVER() Total_Num when you define your cursor.
SQL code?12345678910FOR rec_current_cursor in your_current_cursor LOOP  ...     IF running time > xxtime TH……


一个不错的思路!利用分析函数,在每一行上得到一个结果集总数的列,然后在游标中使用.

BEGIN
    FOR I IN (SELECT EMP.*,COUNT(1) OVER() AS TOTAL FROM EMP) LOOP
      DBMS_OUTPUT.PUT_LINE(I.TOTAL);
    END LOOP;
END;


  相关解决方案