Oracle数据库游标管理.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Oracle数据库游标管理.ppt》由会员分享,可在线阅读,更多相关《Oracle数据库游标管理.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2回顾q PL/SQL 是一种可移植的高性能事务处理语言 q PL/SQL 引擎驻留在 Oracle 服务器中q PL/SQL 块由声明部分、可执行部分和异常处理部分组成 q PL/SQL 支持的数据类型包括标量数据类型、LOB 数据类型和属性类型 q 控制结构包括条件控制、循环控制和顺序控制q PL/SQL 支持动态 SQLq 运行时出现的错误叫做异常q 异常可以分为预定义异常和用户定义的异常3目标q掌握游标管理技巧 4游标简介 2-1Oracle 服务器服务器执行 PL/SQL 程序内存单元保存到游标中一次处理一行检索行提取行5游标简介 2-2q逐行处理查询结果,以编程的方式访问数据q游标
2、的类型:隐式游标REF 游标显式游标在 PL/SQL 程序中执行DML SQL 语句时自动创建隐式游标。 显式游标用于处理返回多行的查询。REF 游标用于处理运行时才能确定的动态 SQL 查询的结果游标类型6隐式游标 4-1q在PL/SQL中使用DML语句时自动创建隐式游标q隐式游标自动声明、打开和关闭,其名为 SQLq通过检查隐式游标的属性可以获得最近执行的DML 语句的信息q隐式游标的属性有:q%FOUND SQL 语句影响了一行或多行时为 TRUEq%NOTFOUND SQL 语句没有影响任何行时为TRUEq%ROWCOUNT SQL 语句影响的行数q%ISOPEN - 游标是否打开,始
3、终为FALSE7隐式游标 4-2SQL SET SERVEROUTPUT ONSQL BEGINUPDATE toys SET toyprice=270WHERE toyid= P005;IF SQL%FOUND THENDBMS_OUTPUT.PUT_LINE(表已更新);END IF; END;/只有在 DML 语句影响一行或多行时,才返回 True8隐式游标 4-3SQL SET SERVEROUTPUT ONSQL DECLARE v_TOYID TOYS.ID%type := &TOYID; v_TOYNAME TOYS.NAME%Type := &TOYNAME; BEGIN UP
4、DATE TOYS SET NAME = v_TOYNAME WHERE toyid=v_TOYID; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE(编号未找到。); ELSEDBMS_OUTPUT.PUT_LINE(表已更新);END IF; END;/如果 DML 语句不影响任何行,则返回 True 9隐式游标 4-4SQL SET SERVEROUTPUT ON SQL BEGINUPDATE vendor_masterSET venname= Rob MathewWHERE vencode=V004;DBMS_OUTPUT.PUT_LINE (SQ
5、L%ROWCOUNT); END; /返回 DML 语句影响的行数10SELECT INTO 语句 2-1SQL SET SERVEROUTPUT ONSQL DECLARE empid VARCHAR2(10);desig VARCHAR2(10); BEGINempid:= &Employeeid;SELECT designation INTO desig FROM employee WHERE empno=empid; EXCEPTIONWHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE(职员未找到); END; /如果没有与SELECT INTO语
6、句中的条件匹配的行,将引发NO_DATA_FOUND异常11SELECT INTO 语句 2-2SQL SET SERVEROUTPUT ONSQL DECLARE empid VARCHAR2(10); BEGINSELECT empno INTO empid FROM employee; EXCEPTIONWHEN TOO_MANY_ROWS THEN DBMS_OUTPUT.PUT_LINE(该查询提取多行); END; /如果 SELECT INTO 语句返回多个值,将引发TOO_MANY_ROWS异常12显式游标 2-1q 显式游标在 PL/SQL 块的声明部分定义查询,该查询可以返
7、回多行q 显式游标的操作过程: 数据库打开游标30George344Roger245James1Stud_mrksStud_namestud_no提取行变量 关闭游标 13显式游标 2-2SQLSET SERVER OUTPUT ONSQLDECLARE my_toy_price toys.toyprice%TYPE; CURSOR toy_cur IS SELECT toyprice FROM toys WHERE toyprice250; BEGIN OPEN toy_cur; LOOP FETCH toy_cur INTO my_toy_price; EXIT WHEN toy_cur%
8、NOTFOUND; DBMS_OUTPUT.PUT_LINE (TOYPRICE=:玩具单价=:|my_toy_price); END LOOP; CLOSE toy_cur; END;声明游标打开游标提取行关闭游标14带参数的显式游标q声明显式游标时可以带参数以提高灵活性q声明带参数的显式游标的语法如下:CURSOR ( ) IS select_statement;SQL SET SERVEROUTPUT ONSQL DECLAREdesig VARCHAR2(20);emp_code VARCHAR2(5);empnm VARCHAR2(20);CURSOR emp_cur(desigpa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 游标 管理
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内