当SELECT语句从数据库中返回的记录多于一条时,就可以使用游标(cursor)。游标可以理解为可以一次访问一个的一组记录。SELECT语句将列提前到游标中,然后根据游标取得记录。使用游标时需要以下5个步骤:
1.声明一些变量,用于保存SELECT语句返回的列值
2.声明游标,并指定SELECT语句
3.打开游标
4.从游标获取记录
5.关闭游标
下面是一个例子(循环取出dept表中的信息):
--游标
--声明变量
SET SERVEROUTPUT ON;
DECLARE
v_deptno dept.deptno%TYPE;
v_dname dept.dname%TYPE;
v_loc dept.loc%TYPE;
--声明游标
CURSOR find_dept_inf IS
SELECT deptno, dname, loc
FROM dept
ORDER BY dname;
BEGIN
--打开游标
OPEN find_dept_inf;
LOOP
--获取记录
FETCH find_dept_inf
INTO v_deptno, v_dname, v_loc;
EXIT WHEN find_dept_inf%NOTFOUND;
dbms_output.put_line(
'v_deptno = ' || v_deptno ||
', v_dname = ' || v_dname ||
', v_loc = ' || v_loc
);
END LOOP;
--关闭游标
CLOSE find_dept_inf;
END;
/
当使用FOR循环时,可以不显式地打开和关闭游标--FOR循环会自动执行这些操作:
--游标与for循环
SET SERVEROUTPUT ON;
DECLARE
CURSOR find_dept_inf IS
SELECT deptno, dname, loc
FROM dept
ORDER BY dname;
BEGIN
FOR v_dept IN find_dept_inf LOOP
dbms_output.put_line(
'deptno = ' || v_dept.deptno ||
', dname = ' || v_dept.dname ||
', loc = ' || v_dept.loc
);
END LOOP;
END;
/
可以发现利用FOR循环代码简洁了许多
分享到:
相关推荐
Oracle 数据库游标使用大全,自己整的,比你搜的好
oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结
Oracle数据库游标使用示例 Oracle数据库游标使用示例 Oracle数据库游标使用示例
简单的oracle游标使用小例子~~ 一份文档,实验用的。
游标是SQL的一个内存工作区,由系统或用户以...游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。
Oracle数据库游标使用大全 Oracle数据库游标使用大全Oracle数据库游标使用大全
oracle笔记游标的使用,游标的详细代码案例,游标知识点笔记!
当查询返回结果超过一行时,就需要一个显式游标,此时用户不能使用select into语句。本文介绍了Oracle数据库游标的使用方法。
oracle数据库游标实验报告!oracle数据库游标实验报告!oracle数据库游标实验报告!
oracle-游标使用汇总,觉得不错所以转了
ORACLE技术文档\oracle cursor 游标.docORACLE技术文档\oracle cursor 游标.docORACLE技术文档\oracle cursor 游标.doc
oracle数据库的游标详述,以及各游标相关信息的具体代码示例。可以帮助初学者以及数据库管理员更好的理解和学习游标的使用和操作。
Oracle中PLSQL游标简介
多维度查询时通常需要建立多个游标循环,查询效率无法得到保障,现在通过游标和substr()函数相结合的方式提高查询效率
该文件讲解了Oracle数据库中函数游标的创建以及包的定义,对数据库有更深层次的了解
ORACLE 游标使用示例,给大家可以共享一下。
Oracle入门--Oracle游标使用! 值得下载看看!资源免费,大家分享!!
ORACLE中的游标汇总,记录了oracle中游标的使用
有关于oracle的循环游标的内容。