资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Version 3.0异常和游标管理异常和游标管理第七章第七章回顾回顾PL/SQL 代表代表 procedural language/SQL(procedural language:过程语言)过程语言)将将 SQL 的数据操纵功能与过程语言的数据处理功能结合的数据操纵功能与过程语言的数据处理功能结合在一起在一起允许使用所有的允许使用所有的 SQL DML、TCL、SQL 函数和操作符函数和操作符PL/SQL 引擎执行引擎执行 PL/SQL 块块PL/SQL 块的三个组成部分是:声明部分、可执行部分块的三个组成部分是:声明部分、可执行部分和异常处理部分和异常处理部分在声明部分中声明变量和常量在声明部分中声明变量和常量LOB 类型用于存储大型对象类型用于存储大型对象属性用于引用数据库的数据类型和对象属性用于引用数据库的数据类型和对象支持变量和常量的比较支持变量和常量的比较有有三三种种类类型型的的控控制制结结构构 - - 条条件件控控制制、迭迭代代控控制制和和顺顺序序控控制制第六章第六章 - - PL/SQL 简介简介2 2目标目标详细讨论异常详细讨论异常游标管理技巧游标管理技巧3 3异常异常 8- - 1程序错误程序错误编译时编译时运行时运行时异常异常处理运行时错误处理运行时错误WORKHELPER WORKHELPER 办公助手提供办公助手提供4 4PL/SQL 是如何处理异常的?是如何处理异常的?错误引发异常错误引发异常每当引发异常时,都将控制权传递给异常处理每当引发异常时,都将控制权传递给异常处理程序程序异常处理程序处理异常异常处理程序处理异常异常异常8 - - 25 5异常中涉及的步骤异常中涉及的步骤声明异常声明异常引发异常引发异常处理异常处理异常异常异常 8- - 36 6异常的类型异常的类型预定义的异常预定义的异常非预定义的异常非预定义的异常用户定义的异常用户定义的异常异常异常 8- - 4WORKHELPER WORKHELPER 办公助手提供办公助手提供7 7预定义的异常预定义的异常由由 Oracle 为常见错误预定义为常见错误预定义在在 DBMS_STANDARD 程序包中提供程序包中提供了这些定义了这些定义不需要显式声明不需要显式声明异常异常8 - - 58 8非预定义的异常非预定义的异常指定与指定与 Oracle 错误关联的异常错误关联的异常关联是通过关联是通过 EXCEPTION_INIT 编译指示编译指示建立的建立的异常异常8 - - 6WORKHELPER WORKHELPER 办公助手提供办公助手提供9 9用户定义的异常用户定义的异常由程序定义的错误由程序定义的错误在声明部分中声明在声明部分中声明类型类型 EXCEPTION 声明用户定义的异常声明用户定义的异常是使用是使用 RAISE 语句显式引发的语句显式引发的异常异常 8- - 71010Raise_Application_Error用于创建用户定义的错误消息的过程用于创建用户定义的错误消息的过程既可以在可执行部分中使用,也可以在异既可以在可执行部分中使用,也可以在异常部分中使用常部分中使用错错误误编编号号必必须须介介于于 20000 和和 20999 之间之间错误消息的长度可长达错误消息的长度可长达 2048 个字节个字节异常异常8 - - 8WORKHELPER WORKHELPER 办公助手提供办公助手提供1111游标管理游标管理9 - - 1游标游标指向上下文区域的句柄或指针指向上下文区域的句柄或指针上下文区域上下文区域 - - 用于用于 SQL 处理的内存区处理的内存区上下文区域的内容上下文区域的内容语句处理的行数语句处理的行数指向语句的语法分析表示的指针指向语句的语法分析表示的指针1212游标管理游标管理9 - - 2游标类型游标类型静态游标静态游标隐式游标隐式游标显式游标显式游标REF 游标游标1313游标管理游标管理9 - - 3隐式游标隐式游标由由 Oracle 在内部声明在内部声明用于处理用于处理DML 语句语句返回单行的查询返回单行的查询WORKHELPER WORKHELPER 办公助手提供办公助手提供1414游标属性游标属性%NOTFOUND%FOUND%ROWCOUNT%ISOPEN游标管理游标管理 9- - 41515显式游标显式游标由用户显式声明由用户显式声明游标将指向活动集中的当前行游标将指向活动集中的当前行控制显式游标控制显式游标OpenFetchClose游标管理游标管理 9- - 51616循环游标循环游标显式游标的替代方法显式游标的替代方法它的工作原理是什么?它的工作原理是什么?隐式打开游标隐式打开游标自动从活动集获取行自动从活动集获取行在处理完所有行时关闭游标在处理完所有行时关闭游标优点优点简化代码的编写简化代码的编写游标管理游标管理9 - - 61717REF 游标游标在运行时使不同的语句与之关联在运行时使不同的语句与之关联REF 游标使用游标变量游标使用游标变量游标变量游标变量 一种引用类型一种引用类型可以在运行时指向不同的存储位置可以在运行时指向不同的存储位置Close 语句关闭游标并释放用于语句关闭游标并释放用于查询的资源查询的资源游标管理游标管理9 - - 71818游标变量的类型游标变量的类型具有约束的游标变量具有约束的游标变量具有返回类型的游标变量具有返回类型的游标变量也称为也称为“强游标强游标”无约束的游标变量无约束的游标变量没有返回类型的游标变量没有返回类型的游标变量也称为也称为“弱游标弱游标”游标管理游标管理9 - - 81919限制限制不能在程序包中声明游标变量不能在程序包中声明游标变量远程子程序不能接受游标变量的值远程子程序不能接受游标变量的值不不能能使使用用比比较较操操作作符符对对游游标标变变量量进进行行相相等或不相等测试等或不相等测试不能将空值赋予游标变量不能将空值赋予游标变量表不能存储游标变量的值表不能存储游标变量的值游标管理游标管理9 - - 9WORKHELPER WORKHELPER 办公助手提供办公助手提供2020总结总结 2- - 1异常处理运行时错误异常处理运行时错误可可用用的的异异常常类类型型有有三三种种:预预定定义义的的、非非预预定义的和用户定义的定义的和用户定义的Raise_application_error 以以交交互互方方式式传传达达预定义的异常预定义的异常游标是一个指向上下文区域的指针游标是一个指向上下文区域的指针可可用用的的两两种种静静态态游游标标类类型型是是隐隐式式游游标标和和显显式游标式游标2121总结总结2 - - 2可用的不同游标属性是:可用的不同游标属性是:%notfound、%found、%rowcount 和和 %isopen显式游标是使用显式游标是使用 open、fetch 和和 close 语语句控制的句控制的循环游标隐式打开游标,获取行并关闭游标循环游标隐式打开游标,获取行并关闭游标REF 游标用于在运行时使不同的游标用于在运行时使不同的 SQL 语句语句与之关联与之关联WORKHELPER WORKHELPER 办公助手提供办公助手提供2222
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号