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;
复制代码

结束







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

目录
相关文章
|
存储 SQL 数据可视化
MySQL_01--游标CURSOR--通过游标(CURSOR)实现对select选择集的迭代使用,解决在Navicat中声明游标就一直报错的问题
我的需求是,一条一条的读取并使用select选择集的结果,使用的数据库可视化软件是Navicat。 但是我在使用游标的过程中一直在游标声明处就报错,试了很多方法,改名字,调整变量顺序都不管用,最后发现,游标需要定义在存储过程(Stored Procedure)函数里。
|
Oracle 关系型数据库 Linux
[20171231]PLSQL使用绑定变量.txt
[20171231]PLSQL使用绑定变量.txt --//一些应用程序开发使用的绑定变量是:1,:2之列的语句,要调优这些语句必须写成如下: 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING              ...
1198 0
|
SQL Perl 关系型数据库
[20171220]toad plsql显示整形的bug.txt
toad 显示 整形 异常
1332 0