PLSQL中隐式打开cursor的小例子

开始

DECLARE

  CURSOR emp_cursor IS

    SELECT empno,ename,deptno FROM emp;



BEGIN

  FOR emp_record IN emp_cursor LOOP



    IF emp_record.deptno=30 THEN

    dbms_output.put_line(emp_record.empno ||'...'||emp_record.ename);

    END IF;

  END LOOP;



END;

在这里,对cursor的打开、fetch、关闭等都是隐藏的。

运行结果:

anonymous block completed

7499...ALLEN

7521...WARD

7654...MARTIN

7698...BLAKE

7844...TURNER

7900...JAMES

它还有一个变化的写法:

BEGIN

  FOR emp_record IN (SELECT empno,ename,deptno FROM emp) LOOP



    IF emp_record.deptno=30 THEN

    dbms_output.put_line(emp_record.empno ||'...'||emp_record.ename);

    END IF;

  END LOOP;



END;

结束

你可能感兴趣的:(Cursor)