PL/SQL 游标
2017-06-07 09:20
288 查看
一、说明
游标字面理解就是游动的光标。用数据库语言来描述:游标是映射在结果集中一行数据上的位置实体,有了游标用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等等。
二、分类
显式游标用CURSOR...IS 命令定义的游标,它可以对查询语句(SELECT)返回的多条记录进行处理。
隐式游标
是在执行插入(INSERT)、删除(DELETE)、修改(UPDATE)和返回单条记录的查询(SELECT)语句时有PL/SQL自动定义的。
三、属性
Oracle 游标有4个属性: %ISOPEN , %FOUND , %NOTFOUND, %ROWCOUNT%ISOPEN 判断游标是否被打开,如果打开%ISOPEN 等于true,否则等于false
%FOUND %NOTFOUND 判断游标所在的行是否有效,如果有效,则%FOUNDD等于true,否则等于false
%ROWCOUNT 返回当前位置为止游标读取的记录行数。
四、使用
声明游标CURSOR emp_info(vartype number) is select * from emp;
打开游标
open emp_info;
读取游标
fetch mycur into varno,varprice;
关闭游标
close emp_info;
五、显示游标遍历
方法一DECLARE V_EMP_INFO EMP%ROWTYPE; CURSOR EMP_INFO IS SELECT * FROM EMP; --1、声明游标 BEGIN OPEN EMP_INFO; --2、打开游标,传递参数值 LOOP FETCH EMP_INFO INTO V_EMP_INFO; --3、提取游标fetch into IF EMP_INFO%FOUND THEN DBMS_OUTPUT.PUT_LINE(V_EMP_INFO.ENAME || '的雇佣日期是' || V_EMP_INFO.HIREDATE); ELSE DBMS_OUTPUT.PUT_LINE('已经处理完结果集了'); EXIT; END IF; END LOOP; CLOSE EMP_INFO; --4、关闭游标 END;
方法二
DECLARE V_EMP_INFO EMP%ROWTYPE; CURSOR EMP_INFO IS SELECT * FROM EMP; --1、声明游标 BEGIN OPEN EMP_INFO; --2、打开游标,传递参数值 LOOP FETCH EMP_INFO INTO V_EMP_INFO; --3、提取游标fetch into EXIT WHEN EMP_INFO%NOTFOUND; DBMS_OUTPUT.PUT_LINE(V_EMP_INFO.ENAME || '的雇佣日期是' || V_EMP_INFO.HIREDATE); END LOOP; DBMS_OUTPUT.PUT_LINE('已经处理完结果集了'); CLOSE EMP_INFO; --4、关闭游标 END;
方法三
DECLARE V_EMP_INFO EMP%ROWTYPE; CURSOR EMP_INFO IS SELECT * FROM EMP; --1、声明游标 BEGIN FOR V_EMP_INFO IN EMP_INFO LOOP DBMS_OUTPUT.PUT_LINE(V_EMP_INFO.ENAME || '的雇佣日期是' || V_EMP_INFO.HIREDATE); END LOOP; DBMS_OUTPUT.PUT_LINE('已经处理完结果集了'); END;
六、隐式游标处理
DECLAREV_EMP_INFO EMP%ROWTYPE;
BEGIN
SELECT * INTO V_EMP_INFO FROM EMP WHERE ename='SMITH';
IF SQL%FOUND THEN
DBMS_OUTPUT.PUT_LINE(V_EMP_INFO.ENAME || '的雇佣日期是' ||
V_EMP_INFO.HIREDATE);
END IF;
DBMS_OUTPUT.PUT_LINE('已经处理完结果集了');
END;
相关文章推荐
- [Oracle]在PL/SQL中更改数据和使用游标获取数据
- Oracle笔记 九、PL/SQL 游标的使用
- ORACLE PL/SQL游标(cursor)学习笔记
- PL/SQL笔记--PLSQL应用开发_游标
- PL/SQL --> 游标
- PL/SQL — 隐式游标
- PL/SQL中游标和游标变量的使用
- Oracle PL/SQL 游标
- PL/SQL游标详解
- PL/SQL正确选择游标类型
- PL/SQL --> 游标
- PL/SQL中的游标(cursor)
- PL/SQL中cursor(光标/游标)的用法
- 18PL_SQL过程之可更新的游标
- 7.PL_SQL――在PL_SQL程序中内嵌查询语句、DML语句、事物处理语句和游标属性
- PL/SQL程序设计 第四章 游标的使用
- oracle pl sql 游标
- 在PL/SQL使用游标获取数据及动态SQL
- PL/SQL ORACLE游标的使用方法
- PL/SQL之游标的FOR循环使用