显示游标获取数据-PL/SQL

本文详细介绍了在Oracle PL/SQL中如何使用游标处理数据,包括游标的类型(隐式和显示),操作步骤(解析、绑定、打开、执行、提取、关闭),以及游标的属性和状态。通过示例展示了显示游标的声明、打开、提取数据和关闭的过程,同时也讲解了FOR UPDATE子句的用法,以及游标在更新数据时的锁定机制。最后,提到了游标for循环和bulk collect的使用,简化了游标的开发工作。
摘要由CSDN通过智能技术生成
--在Oracle中,当我们从PL/SQL中执行一条select语句时,Oracle RDBMS(关系数据库管理系统)会为该语句在SGA的共享池中分配一个私有SQL区,
--同时在将查询结果集放入系统全局区SGA中,以提高访问和修改结果集的性能。
--私有SQL区包含了该语句的信息以及结果集的信息。Oracle中使用游标作为指针来引用该私有工作区。
--借助游标,PL/SQL程序可以控制私有工作区和语句处理过程中游标的变化。

--PL/SQL中的游标分为隐示游标(执行一个返回单行的select into 时,Oracle自动处理相关操作)
--和显示游标(手动处理相关操作,获取多行,重用性强)两种类型。

--一个典型的查询操作步骤如下:
--解析:确保sql语句有效,然后决定执行计划
--绑定:将PL/SQL程序中的变量与绑定变量关联。
--打开:打开游标
--执行:在SQL引擎中运行SQL语句。
--提取:从游标的结果集中获取下一行。每次提取后,PL/SQL将指针在结果集中向前移动。当使用示游标时,如果没有提取到行,那么fetch命令不做任何操作,也不引发错误。
--关闭:关闭游标,释放游标所占用的所有内存。

--游标的状态(例如是否打开,获取了多少行数据等)可以使用游标的属性来获取。


-----使用显示游标的一个完整示例
declare
cursor cur_emp is select * from scott.emp; --定义一个游标
row_emp  cur_emp%rowtype;  --基于游标定义一个记录
begin
open cur_emp;  --打开游标
fetch cur_emp into  row_emp;--从游标中提取一行添加到记录中

while c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值