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;
结束