游标 的概念及应用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了游标 的概念及应用相关的知识,希望对你有一定的参考价值。
游标:是通过SQL语句在内存里建立的一块“区域”,临时存储数据
可以通过游标来提取区域里的数据
分类:
1)隐式游标 默认select insert update delete语句都是用隐式游标
2)显示游标
隐式游标的属性:
%ROWCOUNT 代表DML成功执行的数据行数
%FOUND 布尔类型 TRUE代表insert update delete的一条语句执行成功
%NOTFOUND 布尔类型 功能与%FOUND相反
%ISOPEN 布尔类型 DML执行过程中 为TRUE 执行结束为FALSE
通过游标属性来使用隐式游标!!!
declare v_name varchar2(10); v_job varchar2(10); cursor emp_cursor --步骤1:声明游标 (名字) is select emp.ename,emp.job from emp where emp.empno=7788; (select 语句) begin --步骤2:打开游标 open emp_cursor; --步骤3:到游标中提取数据 fetch emp_cursor into v_name,v_job; --输出提取的值 dbms_output.put_line(v_name||‘,‘||v_job); --步骤4: close emp_cursor; end;
--使用for来循环提取游标里的数据 --使用循环提取游标时,会自动打开及关闭游标 declare cursor cursor_for is select * from emp; begin --打开游标 --open cursor_for; --循环提取 for emprow in cursor_for loop dbms_output.put_line(emprow.empno||‘,‘||emprow.ename); end loop; -- close cursor_for; end;
带参数的游标:
--带参数的游标 declare v_name varchar2(10); v_job varchar2(10); cursor emp_cursor(dno number) --步骤1:声明游标 is select emp.ename,emp.job from emp where emp.empno=dno; begin --步骤2:打开游标 open emp_cursor(7788); --步骤3:到游标中提取数据 fetch emp_cursor into v_name,v_job; --输出提取的值 dbms_output.put_line(v_name||‘,‘||v_job); --步骤4: close emp_cursor; end;
以上是关于游标 的概念及应用的主要内容,如果未能解决你的问题,请参考以下文章