趣百科

Oracle的游标

编辑:Simone 2024-11-29 08:40:52 544 阅读

Oracle的游标

游标也是一类数据库对象,但与常规的数据库对象在创建和应用时有所区别;

实际上,游标可以理解为Java集合中的“迭代器”;不是一个可以存放数据的容器,与容器相比,更加类似于“视图”;

游标用在数据库中,主要作用是用来遍历表中的部分或所有记录;

对游标的常规使用分为以下四个步骤;

1、声明游标;游标遍历哪个表的哪些列;或者哪些表的联合查询;

2、打开游标;

3、使用游标;

4、关闭游标;

Oracle中的游标与Java中的迭代器有所区别,作为迭代器,开始时指向首元素之前,遍历后,指向尾元素之后;游标打开后,指向首行记录;

declare

--1、声明游标;

cursor cc is select ename,sal from emp;

name emp.ename%type;

salary emp.sal%type;

begin

--2、打开游标;

open cc;

--3、使用游标;

fetch cc into name,salary;

show('name: '||name||',salary: '||salary);

--4、关闭游标;

close cc;

end;

/

游标的属性;

1、cursor%found;存在记录;

2、cursor%notfound;不存在记录;

3、cursor%rowcount;当前遍历到第几行;

4、cursor%isopen;是否打开;

遍历;

declare

--1、声明游标;

cursor cc is select ename,sal from emp;

name emp.ename%type;

salary emp.sal%type;

begin

--2、打开游标;

open cc;

--3、使用游标;

loop

exit when cc%notfound;

fetch cc into name,salary;

show(''||cc%rowcount);

show('name: '||name||',salary: '||salary);

end loop;

--4、关闭游标;

close cc;

end;

/

另一种使用游标遍历表的形式,用for循环,在使用for遍历时,游标不需要显式的打开和关闭;在这种情况下,我们将游标看作“数组或集合”,用一个游标变量作为“元素”来执行;

declare

--声明游标;

cursor cc is select ename,sal from emp;

begin

for c in cc loop

show('ename: '||c.ename||', sal: '||c.sal);

end loop;

end;

/

当用游标使用for循环遍历表时,将游标当作集合来用,而循环中的临时变量作为每行记录使用;

declare

--声明游标;

cursor cc is select * from emp;

begin

for c in cc loop

show(''||c.hiredate||','||c.deptno||','||c.sal);

end loop;

end;

/

版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/article/86328.html

相关推荐