游标是用于临时存储一个查询返回的多行数据(结果集),通过遍历游标,可以逐行访问处理改结果集的数据。
1、使用方式
声明——>打开——>读取——>关闭
2、语法
游标声明:
CURSOR 游标名[(参数列表)] IS 查询语句;
游标打开:
OPEN 游标名;
游标读取:
FETCH 游标名 INTO 变量列表;
游标关闭:
CLOSE 游标名;
3、游标属性
|
游标的属性
返回值类型
说明
%ROWCOUNT
整型
获得FETCH语句返回的数据行数
%FOUND
布尔型
最近的FETCH语句返回的一行数据则为证,否则为假
%NOTFOUND
布尔型
与%FOUND属性返回值相反
%ISOPEN
布尔型
游标已经打开时值为真,否则为假
无参数游标
declare
--声明游标
cursor c_emp is select ename,sal from emp;
--声明变量
v_ename emp.ename%type;
v_sal emp.sal%type;
begin
--打开游标
open c_emp;
--遍历循环
loop
--获取游标中的数据
fetch c_emp into v_ename,v_sal;
exit when c_emp%notfound;
dbms_output.put_line(‘姓名:‘||v_name||‘工资:‘||v_sal);
end loop;
--关闭游标
close c_emp;
end;
View Code
有参数游标
declare
--声明游标
cursor c_emp(v_deptno emp.deptno%type) is select ename,sal from emp where deptno=v_deptno;
--声明变量
v_ename emp.ename%type;
v_sal emp.sal%type;
begin
--打开游标
open c_emp(10);
--遍历循环
loop
--获取游标中的数据
fetch c_emp into v_ename,v_sal;
exit when c_emp%notfound;
dbms_output.put_line(‘姓名:‘||v_name||‘工资:‘||v_sal);
end loop;
--关闭游标
close c_emp;
end;
View Code
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!