cursor 结果集的count数

iefus 2013-02-25 07:02:17
我open一个cursor后,想知道结果集一共有几条记录,如果不用loop循环cursor,怎样获得呢

看了%rowcount好像只返回当前结果的num
...全文
1301 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
陈字文 2013-02-26
  • 打赏
  • 举报
回复
引用 7 楼 tonypingge 的回复:
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;
tonypingge 2013-02-26
  • 打赏
  • 举报
回复
fetch one more column : COUNT(1) OVER() Total_Num when you define your cursor.

FOR rec_current_cursor in your_current_cursor LOOP
  ...
  
  IF running time > xxtime THEN
    fnd_file.put_line(fnd_file.log,
                        'Total Record Processed : ' || your_current_cursor%ROWCOUNT;
    fnd_file.put_line(fnd_file.log,
                     'Total Record Fetched : ' || rec_current_cursor.Total_Num);
  END IF;
END LOOP;

tonypingge 2013-02-26
  • 打赏
  • 举报
回复
sorry lost OVER(). pls. use COUNT(1) OVER()
陈字文 2013-02-26
  • 打赏
  • 举报
回复
引用 4 楼 tonypingge 的回复:
fetch one more column : COUNT(1) when you define your cursor. FOR rec_current_cursor in your_current_cursor LOOP dbms_output.put_line("Total record : " || rec_current_cursor.COUNT(1……
这个好像不能...
tonypingge 2013-02-26
  • 打赏
  • 举报
回复
fetch one more column : COUNT(1) when you define your cursor. FOR rec_current_cursor in your_current_cursor LOOP dbms_output.put_line("Total record : " || rec_current_cursor.COUNT(1)); IF running time > xxtime THEN END IF; END LOOP;
iefus 2013-02-26
  • 打赏
  • 举报
回复
引用 2 楼 ziwen00 的回复:
这个好像真的没有,但是为什么要获取游标的数量呢? SELECT COUNT(1) FROM 你的游标定义可以得到。 处理游标的时候 I++也可以统计 ROWCOUNT确实是当前的。
我循环处理cursor的结果集,当运行时间大于某个时间时,我就跳出loop,所以我可以得到处理了多少条记录 但是我还想知道cursor中一共有多少
陈字文 2013-02-26
  • 打赏
  • 举报
回复
这个好像真的没有,但是为什么要获取游标的数量呢? SELECT COUNT(1) FROM 你的游标定义可以得到。 处理游标的时候 I++也可以统计 ROWCOUNT确实是当前的。

17,378

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧