异常和游标管理
第七章
回顾
PL/SQL 代表 procedural language/SQL(procedural language:过程语言)
将 SQL 的数据操纵功能与过程语言的数据处理功能结合在一起
允许使用所有的 SQL DML、TCL、SQL 函数和操作符
PL/SQL 引擎执行 PL/SQL 块
PL/SQL 块的三个组成部分是:声明部分、可执行部分和异常处理部分
在声明部分中声明变量和常量
LOB 类型用于存储大型对象
属性用于引用数据库的数据类型和对象
支持变量和常量的比较
有三种类型的控制结构- 条件控制、迭代控制和顺序控制
第六章- PL/SQL 简介
2
目标
详细讨论异常
游标管理技巧
3
异常 8- 1
程序错误
编译时
运行时
异常
处理运行时错误
4
PL/SQL 是如何处理异常的?
错误引发异常
每当引发异常时,都将控制权传递给异常处理程序
异常处理程序处理异常
异常不可恢复
异常8 - 2
5
异常中涉及的步骤
声明异常
引发异常
处理异常
异常 8- 3
6
异常的类型
预定义的异常
非预定义的异常(用户定义的异常和oracle错误号的关联)
用户定义的异常
异常 8- 4
7
预定义的异常
DUP_VAL_ON_INDEX
试图在唯一索引约束的列上存储重复的值
INVALID_CURSOR
非法的游标操作,如打开已经关闭的游标
LOGIN_DENIED
试图使用无效的用户名称或者口令登录oracle
CURSOR_ALREADY_OPEN
试图打开一个已打开的游标
INVALID_NUMBER
试图对非数字值进行数字操作
8
预定义的异常
NO_DATA_FOUND
查询未找到数据
NOT_LOGGED_ON
还未连接就试图数据库操作
PROGRAM_ERROR
内部错误
ROWTYPE_MISMATCH
主变量和游标的类型不兼容
STORAGE_ERROR
内部错误
9
预定义的异常
TIMEOUT_ON_RESOURCE
发生超时
TOO_MANY_ROWS
SELECT INTO命令返回的多行
TRANSACTION_BACKED_OUT
由于死锁提交被退回
VALUE_ERROR
转换或者截断错误
ZERO_DIVIDE
试图被零除
10
异常和游标管理 来自淘豆网www.taodocs.com转载请标明出处.