Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
游标的基本概念
游标从字面上理解为游动的光标,可以使用 Excel 表格来想象游标的作用,游标指向每一行,通过游标访问每行数据。
在 Oracle 数据库中,为了处理 SQL 语句,在内存中会分配一个区域,又叫上下文区,整个区域是 SQL 语句返回的数据集合,而游标就是指向这个上下文的指针。
使用游标,可以处理从数据库中返回的多行记录,逐个遍历和处理检索返回的记录集合
游标的基本类型
游标分为两大类:静态游标和动态游标。其中静态游标又分为显式游标和隐式游标两种类型
显式游标
显式游标是用户定义和操作的游标,用于处理使用 SELECT 查询语句返回多行的查询结果。
使用显式游标处理数据分为如下步骤:声明游标、打开游标、读取游标和关闭游标
隐式游标
系统自动进行操作,用于处理 DML 语句的执行结果或者 SELECT 查询返回的单行数据。
使用时不需要进行声明、打开和关闭
动态游标
显式游标在定义时与特定的查询绑定,其结构是不变的。
而动态游标也称为游标变量,是一个指向多行查询结果集的指针,不与特定的查询绑定,可以在打开游标变量时定义查询,可以返回不同结构的结果集
静态游标属性
在 静 态 游 标 中, 不 管 是 显 式 游 标 还 是 隐 式 游 标, 都 具 有 %FOUND, %NOTFOUND, %ISOPEN和 %ROWCOUNT 等 4 个属性,
可以通过这些属性获取 SQL 语句的执行结果以及游标的状态信息。
这4 个属性及含义如下。
%FOUND :布尔型,判断是否检索到数据,如果检索到,属性值为 TRUE,否则为 FALSE。
%NOTFOUND :布尔型,与 %FOUND 功能相反。
%ISOPEN :布尔型,判断游标是否打开,如果打开,则返回属性值为 TRUE,否则为 FALSE。
%ROWCOUNT :数字型,返回受 SQL 语句影响的行数。
隐 式 游 标 的 这 4 个 属 性 在 使 用 的 时 候, 需 要 在 属 性 前 加 入 隐 式 游 标 的 默 认 名 称 SQL, 即SQL%FOUND、SQL%NOTFOUND、SQL%ISOPEN 和 SQL%ROWCOUN