一.游标是什么
游标字面的意思就是游动的光标。
用数据库语言描述:游标是映射在结果集中一行数据上的位置实体,有了游标就可以访问结果集中的任意一行数据,
将游标放置某行后,既可以对该行数据操作,例如读取该行的数据。
二.游标的分类
静态游标(分为显式(explicit)游标和隐式(implicit)游标)和 动态游标(分强类型动态游标和弱类型动态游标)
无论显式还是隐式游标,获取记录集的查询定义在游标使用前必须确定。定义在整个生命周期内不可以修改,被叫作静态游标。
动态游标是指,在游标声明时,不指定其查询定义,而是在游标打开时进行定义。
游标的使用
1.声明游标
cursor cursor_name is select_statment
2.打开游标
open cursor_name
3.获取数据
fetch cusor_nameinto
在显式游标中,使用FETCH...BULK COLLECT INTO语句提取所有数据
在显式游标中,使用FETCH...BULK COLLECT INTO ...LIMIT N 语句提取部分数据
4.关闭游标
close cursor_name
三.游标的属性
oracle 游标有4个属性:%ISOPEN,%FOUND,%NOTFOUND,%ROWCOUNT。
在oracle存储过程中,不支持一般查询多行的select语句,
而select ..into.. 只支持单条语句,如需处理多行数据就需使用游标。