游标:
概念:
1.逐行处理查询结果,以编程的方式访问数据
2.是一个指针
3.结果存储在内存中(数据的缓存区)
不适合:数据量大
适合: 数据量小,频繁使用
类型:
1.隐式游标:执行DML SQL语句时自动创建,名字固定sql
2.显式游标:处理返回多行的查询
2.ref游标: 处理运行时才能确定的动态SQL查询
属性:
%found : 返回一个布尔值,不为空返回true ,为空返回false;
%notfound:返回一个布尔值,为空返回true ,不为空返回false;
%rowcount: 表示缓冲区(结果集)的数据条数;
%isopen: 返回一个布尔值,判读游标是否打开,打开为true,关闭为false;
注:boolean 布尔类型:有三个值,true,false ,null;
显式游标:
PL/SQL块声明部分定义查询,可以返回多行;
(1)声明
cursor 游标名 is select 语句;
(2)打开
open 游标名;
(3)提取
fetch 游标名 into 变量;
(4)关闭
close 游标名;
隐式游标:
1.使用DML语句时自动创建
2.自动声明,自动打开,自动关闭 命名为sql
3.检查其属性,可获得DML语句信息
属性:
%found : 影响一行或者多行时为true;
%notfound:没有影响任何行时为true;
%rowcount: 影响行数;
%isopen: 是否打开游标,默认为false;
ref游标:
处理运行动态执行的SQL语句
(1)声明ref游标类型
type 类型名称 is ref cursor ;
(2)声明ref 游标类型的变量
变量名称 游标变量类型;
(3)使用
open 游标变量 for select 语句;