对PLSQL的cursor 的rowcount 的理解

简介:

开始

rowcount 并不是定义或open了cursor,就是固定的值,它随着每次fetch而累计:

复制代码
--INDEX BY Table
SET SERVEROUTPUT ON;

DECLARE
  v_empno emp.empno%TYPE;
  v_ename emp.ename%TYPE;
  
  CURSOR emp_cursor IS
  SELECT empno,ename from emp where empno<>1000;
  
BEGIN

LOOP

  IF NOT emp_cursor%ISOPEN  THEN
     OPEN emp_cursor;
  END IF; 
  
  FETCH emp_cursor INTO  v_empno,v_ename; 
  EXIT WHEN emp_cursor%NOTFOUND;
   
  dbms_output.put_line(
'rowcount is:'|| emp_cursor%ROWCOUNT || '-- empno is:' || v_empno || '-- emp name is:' || v_ename); END LOOP; END; /
复制代码

运行结果:

复制代码
anonymous block completed
rowcount is:1-- empno is:7369-- emp name is:SMITH
rowcount is:2-- empno is:7499-- emp name is:ALLEN
rowcount is:3-- empno is:7521-- emp name is:WARD
rowcount is:4-- empno is:7566-- emp name is:JONES
rowcount is:5-- empno is:7654-- emp name is:MARTIN
rowcount is:6-- empno is:7698-- emp name is:BLAKE
rowcount is:7-- empno is:7782-- emp name is:CLARK
rowcount is:8-- empno is:7788-- emp name is:SCOTT
rowcount is:9-- empno is:7839-- emp name is:KING
rowcount is:10-- empno is:7844-- emp name is:TURNER
rowcount is:11-- empno is:7876-- emp name is:ADAMS
rowcount is:12-- empno is:7900-- emp name is:JAMES
rowcount is:13-- empno is:7902-- emp name is:FORD
rowcount is:14-- empno is:7934-- emp name is:MILLER
复制代码

结束





本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/11/14/2769385.html,如需转载请自行联系原作者

目录
相关文章
|
5月前
|
前端开发
cursor
cursor
31 0
|
Go C++
OPEN CURSOR vs SELECT
OPEN CURSOR vs SELECT
105 0
OPEN CURSOR vs SELECT
sql 中CURSOR 的使用
sql 中CURSOR 的使用http://www.bieryun.com/3273.html CURSOR是游标,常用于脚本处理。 这里主要介绍自己常用的方法,同时也会把网上的一般格式进行解释。
1686 0