游标 (学习笔记)

游标的定义:
游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。
使用游标:
游标的使用主要分为两大类:
一、第一种使用方法:
声明游标
游标在使用之前必须先声明,可用DECLARE CURSOR语句声明游标,其一般格式为:
DECLARE [INSENSITIVE][SCROLL]CURSOR <游标名>
IS <SELECT-查询块>
[FOR{READ ONLY|UPDATE[OF<列名>[,<列名>…]]}]
说明:INSENSITIVE——使用数据的临时复制来定义游标,这时的游标实际上是不允许修改的。
SCROLL——可以使用任何方法来存取数据,允许更新和删除。
FOR<SELECT-查询块>——使用SELECT查询块来定义一个游标。
FOR READ ONLY或FOR UPDATE——说明是只读的游标还是可修改的游标。
打开游标
使用OPEN语句的功能打开游标,实际上就是执行相应的SELECT查询语句,将查询结果放到缓冲区。这时游标处于活动状态,游标指针指向第一条记录。其一般格式为:
OPEN<游标名>
提取游标
FETCH语句是从游标中提取特定的一行。其一般格式为:
FETCH
[[NEXT|PRIOR|FIRST|LAST|ABSOLUTE n|RELATIVE n]FROM]
<游标名>
[INTO:<主变量1>,<主变量2>…]
说明:NEXT——如果是在OPEN后第一次执行FETCH命令,则返回结果集的第一行,否则使游标的指针指向结果集的下一行,NEXT是默认的选项。
PRIOR——返回结果集当前行的前一行。
FIRST——返回结果集的第一行。
LAST——返回结果集的最后一行。
ABSOLUTE n——如果n是正数,返回结果集的第n行,如果n是负数,则返回结果集的倒数第n行
RELATIVE n——如果n是正数,返回当前行后的第n行,如果n是负数,则返回当前行开始倒数的第n行。
INTO——该语句的功能是把游标取出的当前记录送入到主变量,INTO后的主变量要与在DECLARE CURSOR中SELECT的字段相对应。
关闭游标
使用CLOSE 语句关闭游标,其一般格式为:
CLOSE<游标名>
释放游标
使用DEALLOCATE语句释放游标,其一般格式为:
DEALLOCATE<游标名>。

二、第二种游标使用方法是使用FOR循环语句,因为FOR循环是对查询结果的遍历,无需打开和关闭游标,也不需要抓取游标并下移,所以语句更加简洁。
示例如下:
declare
cursor cur_1 is
select ename from emp;
begin
for i in cur_1 loop
dbms_output.put_line(i.ename);
end loop;
end;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值