书籍详情
Oracle 9i PL/SQL开发人员指南
作者:(美)Bulusu Lakshman著;彭晖等译;彭晖译
出版社:清华大学出版社
出版时间:2004-09-01
ISBN:9787302090649
定价:¥56.00
购买这本书可以去
内容简介
●从应用程序开发人员的角度关注OraclePL/SQL9i(9.2.x版与9.0.x版)●包含一些经过实践检验的可靠方法,这些方法可用于构建执行速度快且健壮的Oracle9iPL/SQL应用程序●每章都着重介绍一些关键知识点,这些知识点在处理实际编程中的问题时非常有用本书除了讲述PL/SQL9i语言本身的各种细节技术外,还介绍了使用PL/SQL9i编写服务器端应用程序的多种技术,并给出了实现健壮应用程序的方法。Lakshman还指导开发人员为真实编程环境和以代码为中心的Oracle应用程序实现高效的技术,这些技术最终必将为他们节省大量的时间和精力。本书是Oracle9iPL/SQL应用程序开发的宝贵资源。无论开发人员是将这些技术集成到他们新开发的应用程序中,还是在早期版本的应用程序中对原有技术进行升级,他们都将体会到这种专家级处理技术的强大优势。本书涵盖了在Oracle9i第1版到第2版中使用PL/SQL开发服务器端应用程序的各种技术。包括PL/SQL的基础知识、PL/SQL非面向对象的特性、PL/SQL面向对象的特性、PL/SQL与Java和Web的互操作性等,此外,它还对如何编写高效的PL/SQL应用程序进行了详细的介绍,并给出了一些PL/SQL程序代码的编写标准。本书主要的读者对象是使用SQL和PL/SQL设计和编写应用程序的Oracle中级开发人员。它假定读者具有一定的OracleSQL、PL/SQL和Java应用经验。本书也可以作为想使用PL/SQL9i高级特性的程序员的参考书。
作者简介
暂缺《Oracle 9i PL/SQL开发人员指南》作者简介
目录
第I部分 入门
第1章 PL/SQL入门
1.1 使用PL/ SQL的优势
1.2 构造PL/SQL代码块
1.2.1 PL/SQL代码块示例
1.2.2 嵌套块示例
1.3 PL/SQL的程序结构
1.3.1 条件结构
1.3.2 CASE语句与CASE表达式
1.3.3 迭代结构
1.4 PL/SQL环境
1.5 PL/SQL 9i的新特性
1.5.1 PL/SQL 9i特有的非面向对象特征
1.5.2 PL/SQL特有的面向对象的特征
1.6 小结
第II部分 PL/SQL 9i的非面向对象特性
第2章 游标
2.1 游标简介
2.1.1 显式游标
2.1.2 SELECT FOR UPDATE游标
2.1.3 隐式游标
2.2 游标变量
2.2.1 使用游标变量的原因
2.2.2 定义游标变量
2.2.3 使用游标变量
2.2.4 从存储子程序中返回结果集
2.3 游标表达式
2.3.1 使用游标表达式的原因
2.3.2 声明游标表达式
2.3.3 游标表达式的使用
2.3.4 使用多层嵌套游标的游标表达式
2.3.5 将游标表达式作为从SQL中调用函数的参数
2.4 小结
第3章 PL/SQL记录与Index-by表
3.1 记录
3.1.1 记录的定义
3.1.2 记录类型的使用
3.1.3 记录的初始化
3.1.4 记录的赋值
3.1.5 其他记录类型
3.2 Index-by表
3.2.1 Index-by表的定义
3.2.2 Index-by表的使用
3.2.3 Index-by表的方法
3.2.4 记录的Index-by表
3.2.5 联合数组
3.3 小结
第4章 错误消息处理
4.1 PL/SQL异常:类型与定义
4.1.1 错误类型
4.1.2 错误代号
4.1.3 错误文本
4.1.4 PL/SQL的内置错误
4.1.5 异常处理程序
4.1.6 PL/SQL异常的类型
4.2 处理PL/SQL异常
4.2.1 处理预定义异常
4.2.2 处理用户自定义异常
4.2.3 处理未预定义的Oracle错误
4.2.4 PRAGMA_EXCEPTION_INIT
4.2.5 处理在声明和异常处理部分引发的异常
4.2.6 PL/SQL异常的作用域
4.3 用户定义的PL/SQL错误消息
4.3.1 在PL/SQL中定义用户自定义错误消息
4.3.2 在PL/SQL中处理用户自定义的错误消息
4.4 PL/SQL错误提示和异常处理
4.5 小结
第5章 存储子程序(过程、函数和包)
5.1 过程和函数的创建与使用
5.1.1 过程的创建和使用
5.1.2 函数的创建和使用
5.1.3 过程或函数的执行
5.1.4 过程或函数参数的定义
5.1.5 存储子程序的元数据
5.2 PL/SQL包
5.3 返回结果集的子程序
5.4 在SQL语句中使用存储函数
5.4.1 从SQL中调用存储函数的标准
5.4.2 从SQL中调用函数的纯度等级
5.5 通过引用传递参数
5.5.1 NOCOPY和异常处理
5.5.2 NOCOPY对性能的提高
5.5.3 使用NOCOPY的一些限制
5.6 定义者和调用者权限
5.6.1 调用者权限模型
5.6.2 一个应用程序多个模式
5.6.3 调用者权限和动态SQL
5.7 包的其他特性
5.7.1 包过程和函数的重载
5.7.2 连续可重用包
58 小结
第6章 数据库触发器
6.1 PL/SQL触发器:种类与定义
6.1.1 触发器的种类
6.1.2 触发器的定义
6.1.3 触发器与元数据
6.1.4 触发器的其他一些概念
6.2 只读视图、可更新视图和INSTEAD-OF触发器
6.2.1 定义INSTEAD-OF触发器
6.2.2 INSTEAD-OF触发器的使用
6.3 新的数据库触发器
6.3.1 系统事件和用户事件触发器
6.3.2 触及器属性
6.3.3 事件列表
6.4 小结
第7章 本地动态SQL和动态PL/SQL
7.1 DBMS_SQL与本地动态SQL比较
7.2 本地动态SQL语句
7.3 动态DDL
7.4 动态SELECTS
7.4.1 单行SELECTS
7.4.2 多行SELECTS
7.5 动态INSERT、UPDATE和DELETE
7.6 绑定变量的使用
7.7 动态PL/SQL
7.8 本地动态SQL中的异常处理
7.9 本地动态SQL和对象
7.10 小结
第8章 自治事务
8.1 自治事务前的事务管理
8.2 自治事务的定义和使用
8.2.1 自治事务的优点
8.2.2 将事务指定为自治事务
8.2.3 自治事务处理
8.2.4 自治触发器
8.2.5 自治事务的一些关键问题
8.3 小结
第9章 本地批绑定
9.1 批DML
9.1.1 SQL出错以后的情况
9.1.2 SAVE EXCEPTION子句
9.1.3 FORALL语句的属性
9.2 批查询
9.2.1 在SELECR…INTO语句使用BULK COLLECT
9.2.2 在Fetching中使用BULK COLLECT
9.2.3 在RETURNING INTO中使用BULK COLLECT
9.2.4 宿主数组和批DML
9.3 批动态SQL
9.3.1 通过使用SELECT…INTO语句,将BULK COLLECT与EXECUTE IMMEDIATE结合在一起进行批查询
9.3.2 将EXECUTE IMMEDIATE与FORALL语句结合在一起使用进行批DML
9.3.3 将FORALL…RETURNING NTO…与EXECUTE IMMEDIATE结合在一起使用进行批DML
9.3.4 使用FETCH…BULK COLLECT INTO…从使用本地动态SQL打开的游标中进行批取值
9.4 小结
第III部分 PL/SQL 9i的面向对象特性
第10章 对象的世界
10.1 对象类型与对象表
10.1.1 PL/SQL中对象类型和它们的创建与使用
10.1.2 定义对象类型
10.1.3 对象实例及其初始化
10.1.4 方法
10.1.5 修改和删除对象类型
10.1.6 数据库中的对象
10.1.7 对象与本地动态SQL
10.2 类型继承
10.3 动态方法调度
10.4 类型演化
10.4.1 对象类型属性的改变
10.4.2 对象类型方法的改变
10.4.3 类型层次结构中对象类型的INSTANTIABLE和FINAL属性的演化
10.4.4 将对一个类型所做的更改传播到从属的类型和表中
10.5 Java对象存储:Java语言的SQL类型或SQLJ对象类型
10.5.1 创建SQLJ对象类型映射到其中的自定义Java类
10.5.2 把类加载到Oracle 9i数据库
10.5.3 指定从对象类型到Java类的映射创建SQLJ对象类型
10.5.4 在PL/SQL或SQL中像使用任一对象类型一样使用SQLJ对象类型
10.6 用户自定义操作符
10.6.1 用户自定义操作符的定义方法
10.6.2 函数与用户自定义操作符的比较
10.6.3 用户自定义操作符的用处
10.6.4 用户自定义操作符的调用
10.6.5 在PL/SQL中使用用户自定义操作符
10.6.6 删除用户自定义操作符
10.7 小结
第11章 集合(VARRAYS和嵌套表)
11.1 PL/SQL中集合的创建和使用
11.1.1 VARRARS
11.1.2 嵌套表
11.1.3 集合方法
11.1.4 数据库中的集合
11.2 表函数
11.2.1 包含对象类型的表函数
11.2.2 Oracle 9i中表函数的新特性
11.3 多层集合
11.4 小结
第12章 大对象
12.1 LOB简介
12.2 BLOB
12.3 CLOB
12.4 BFILE
12.5 DBMS_LOB包
12.5.1 从外部BFILE为BLOB列赋值
12.5.2 对CLOB执行读和写操作
12.5.3 读取BFILE的长度
12.6 TO_LOB函数
12.6.1 使用ALTER TABLE…MODIFY语句将LONG复制到LOB
12.6.2 使用TO_CLOB和TO_BLOB函数将LONG复制到LOB
12.7 小结
第IV部分 PL/SQL与Java和Web
第13章 PL/SQL与JAVA
13.1 在数据库中使用Java
13.1.1 执行文件I/O
13.1.2 Oracle 9i中Java存储过程的新特性
13.2 PL/SQL调用Java:Java存储过程
13.2.1 从服务器端PL/SQL调用Java存储过程
13.2.2 从非服务器端PL/SQL中调用Java存储过程
13.2.3 Java存储过程和PL/SQL存储过程的比较
13.3 创建Java存储过程
13.3.1 创建Java存储过程的基本步骤
13.3.2 从SQL和(或)PL/SQL中调用Java存储过程
13.3.3 加载Java方法
13.3.4 将Java方法发布到数据库
13.4 执行Java存储过程
13.4.1 从顶层执行
13.4.2 从数据库触发器中执行
13.4.3 从SQL DML中执行
13.4.4 从PL/SQL中执行
13.5 返回结果集的Java存储过程
13.5.1 写一个返回结果集的Java方法并将其编译生成一个.class文件
13.5.2 将.class文件加载到Oracle 9i数据库中
13.5.3 在Oracle 9i数据库中,使用PL/SQL调用规范发布Java方法
13.5.4 使用PL/SQL调用规范调用Java存储过程
13.6 小结
第14章 PL/SQL与Web
14.1 在PL/SQL中使用HTML
14.1.1 创建一个数据库访问描述符
14.1.2 创建存储过程
14.1.3 将存储过程作为URL进行调用
14.1.4 在PL/SQL中使用HTML时传递参数
14.2 HTML中的PL/SQL:PL/SQL Server Page
14.2.1 PSP基础
14.2.2 开发PL/SQL Server Page
14.3 使用PL/SQL构建面向Web的应用程序
14.3.1 用户接口
14.3.2 业务逻辑
14.3.3 Organization Web应用程序的调用
14.4 使用PL/SQL发送电子邮件
14.5 小结
第V部分 PL/SQL性能与标准
第15章 影响性能的因素
15.1 一些PL/SQL调整过程
15.2 PL/SQL代码的本地编译
15.2.1 本地编译的工作过程
15.2.2 性能受益
15.2.3 附加参数
15.3 通过引用传递参数
15.3.1 参数传递的过程
15.3.2 性能受益
15.4 使用本地动态SQL
15.4.1 本地动态SQL的执行过程
15.4.2 性能受益
15.5 使用批绑定
15.5.1 批绑定的过程
15.5.2 性能受益
15.6 使用RETURNING子句
15.6.1 RETURNTNG子句的工作过程
15.6.2 性能受益
15.7 使用对象类型和集合
15.8 使用管道表函数
15.8.1 管道表函数的工作过程
15.8.2 性能受益
15.9 小结
第16章 PL/SQL编码标准
16.1 编码标准
16.1.1 PL/SQL入门
16.1.2 游标
16.1.3 PL/SQL记录和Index-by表
16.1.4 错误消息处理
16.1.5 子程序
16.1.6 数据库触发器
16.1.7 本地动态SQL
16.1.8 自治事务
16.1.9 本地批绑定
16.1.10 数据库对象
16.1.11 集合
16.1.12 大对象
16.1.13 数据库中的Java
16.2 小结
第VI部分 附录
附录A 案例分析与模式对象
A.1 组织层次系统
A.2 订单录入应用系统
第1章 PL/SQL入门
1.1 使用PL/ SQL的优势
1.2 构造PL/SQL代码块
1.2.1 PL/SQL代码块示例
1.2.2 嵌套块示例
1.3 PL/SQL的程序结构
1.3.1 条件结构
1.3.2 CASE语句与CASE表达式
1.3.3 迭代结构
1.4 PL/SQL环境
1.5 PL/SQL 9i的新特性
1.5.1 PL/SQL 9i特有的非面向对象特征
1.5.2 PL/SQL特有的面向对象的特征
1.6 小结
第II部分 PL/SQL 9i的非面向对象特性
第2章 游标
2.1 游标简介
2.1.1 显式游标
2.1.2 SELECT FOR UPDATE游标
2.1.3 隐式游标
2.2 游标变量
2.2.1 使用游标变量的原因
2.2.2 定义游标变量
2.2.3 使用游标变量
2.2.4 从存储子程序中返回结果集
2.3 游标表达式
2.3.1 使用游标表达式的原因
2.3.2 声明游标表达式
2.3.3 游标表达式的使用
2.3.4 使用多层嵌套游标的游标表达式
2.3.5 将游标表达式作为从SQL中调用函数的参数
2.4 小结
第3章 PL/SQL记录与Index-by表
3.1 记录
3.1.1 记录的定义
3.1.2 记录类型的使用
3.1.3 记录的初始化
3.1.4 记录的赋值
3.1.5 其他记录类型
3.2 Index-by表
3.2.1 Index-by表的定义
3.2.2 Index-by表的使用
3.2.3 Index-by表的方法
3.2.4 记录的Index-by表
3.2.5 联合数组
3.3 小结
第4章 错误消息处理
4.1 PL/SQL异常:类型与定义
4.1.1 错误类型
4.1.2 错误代号
4.1.3 错误文本
4.1.4 PL/SQL的内置错误
4.1.5 异常处理程序
4.1.6 PL/SQL异常的类型
4.2 处理PL/SQL异常
4.2.1 处理预定义异常
4.2.2 处理用户自定义异常
4.2.3 处理未预定义的Oracle错误
4.2.4 PRAGMA_EXCEPTION_INIT
4.2.5 处理在声明和异常处理部分引发的异常
4.2.6 PL/SQL异常的作用域
4.3 用户定义的PL/SQL错误消息
4.3.1 在PL/SQL中定义用户自定义错误消息
4.3.2 在PL/SQL中处理用户自定义的错误消息
4.4 PL/SQL错误提示和异常处理
4.5 小结
第5章 存储子程序(过程、函数和包)
5.1 过程和函数的创建与使用
5.1.1 过程的创建和使用
5.1.2 函数的创建和使用
5.1.3 过程或函数的执行
5.1.4 过程或函数参数的定义
5.1.5 存储子程序的元数据
5.2 PL/SQL包
5.3 返回结果集的子程序
5.4 在SQL语句中使用存储函数
5.4.1 从SQL中调用存储函数的标准
5.4.2 从SQL中调用函数的纯度等级
5.5 通过引用传递参数
5.5.1 NOCOPY和异常处理
5.5.2 NOCOPY对性能的提高
5.5.3 使用NOCOPY的一些限制
5.6 定义者和调用者权限
5.6.1 调用者权限模型
5.6.2 一个应用程序多个模式
5.6.3 调用者权限和动态SQL
5.7 包的其他特性
5.7.1 包过程和函数的重载
5.7.2 连续可重用包
58 小结
第6章 数据库触发器
6.1 PL/SQL触发器:种类与定义
6.1.1 触发器的种类
6.1.2 触发器的定义
6.1.3 触发器与元数据
6.1.4 触发器的其他一些概念
6.2 只读视图、可更新视图和INSTEAD-OF触发器
6.2.1 定义INSTEAD-OF触发器
6.2.2 INSTEAD-OF触发器的使用
6.3 新的数据库触发器
6.3.1 系统事件和用户事件触发器
6.3.2 触及器属性
6.3.3 事件列表
6.4 小结
第7章 本地动态SQL和动态PL/SQL
7.1 DBMS_SQL与本地动态SQL比较
7.2 本地动态SQL语句
7.3 动态DDL
7.4 动态SELECTS
7.4.1 单行SELECTS
7.4.2 多行SELECTS
7.5 动态INSERT、UPDATE和DELETE
7.6 绑定变量的使用
7.7 动态PL/SQL
7.8 本地动态SQL中的异常处理
7.9 本地动态SQL和对象
7.10 小结
第8章 自治事务
8.1 自治事务前的事务管理
8.2 自治事务的定义和使用
8.2.1 自治事务的优点
8.2.2 将事务指定为自治事务
8.2.3 自治事务处理
8.2.4 自治触发器
8.2.5 自治事务的一些关键问题
8.3 小结
第9章 本地批绑定
9.1 批DML
9.1.1 SQL出错以后的情况
9.1.2 SAVE EXCEPTION子句
9.1.3 FORALL语句的属性
9.2 批查询
9.2.1 在SELECR…INTO语句使用BULK COLLECT
9.2.2 在Fetching中使用BULK COLLECT
9.2.3 在RETURNING INTO中使用BULK COLLECT
9.2.4 宿主数组和批DML
9.3 批动态SQL
9.3.1 通过使用SELECT…INTO语句,将BULK COLLECT与EXECUTE IMMEDIATE结合在一起进行批查询
9.3.2 将EXECUTE IMMEDIATE与FORALL语句结合在一起使用进行批DML
9.3.3 将FORALL…RETURNING NTO…与EXECUTE IMMEDIATE结合在一起使用进行批DML
9.3.4 使用FETCH…BULK COLLECT INTO…从使用本地动态SQL打开的游标中进行批取值
9.4 小结
第III部分 PL/SQL 9i的面向对象特性
第10章 对象的世界
10.1 对象类型与对象表
10.1.1 PL/SQL中对象类型和它们的创建与使用
10.1.2 定义对象类型
10.1.3 对象实例及其初始化
10.1.4 方法
10.1.5 修改和删除对象类型
10.1.6 数据库中的对象
10.1.7 对象与本地动态SQL
10.2 类型继承
10.3 动态方法调度
10.4 类型演化
10.4.1 对象类型属性的改变
10.4.2 对象类型方法的改变
10.4.3 类型层次结构中对象类型的INSTANTIABLE和FINAL属性的演化
10.4.4 将对一个类型所做的更改传播到从属的类型和表中
10.5 Java对象存储:Java语言的SQL类型或SQLJ对象类型
10.5.1 创建SQLJ对象类型映射到其中的自定义Java类
10.5.2 把类加载到Oracle 9i数据库
10.5.3 指定从对象类型到Java类的映射创建SQLJ对象类型
10.5.4 在PL/SQL或SQL中像使用任一对象类型一样使用SQLJ对象类型
10.6 用户自定义操作符
10.6.1 用户自定义操作符的定义方法
10.6.2 函数与用户自定义操作符的比较
10.6.3 用户自定义操作符的用处
10.6.4 用户自定义操作符的调用
10.6.5 在PL/SQL中使用用户自定义操作符
10.6.6 删除用户自定义操作符
10.7 小结
第11章 集合(VARRAYS和嵌套表)
11.1 PL/SQL中集合的创建和使用
11.1.1 VARRARS
11.1.2 嵌套表
11.1.3 集合方法
11.1.4 数据库中的集合
11.2 表函数
11.2.1 包含对象类型的表函数
11.2.2 Oracle 9i中表函数的新特性
11.3 多层集合
11.4 小结
第12章 大对象
12.1 LOB简介
12.2 BLOB
12.3 CLOB
12.4 BFILE
12.5 DBMS_LOB包
12.5.1 从外部BFILE为BLOB列赋值
12.5.2 对CLOB执行读和写操作
12.5.3 读取BFILE的长度
12.6 TO_LOB函数
12.6.1 使用ALTER TABLE…MODIFY语句将LONG复制到LOB
12.6.2 使用TO_CLOB和TO_BLOB函数将LONG复制到LOB
12.7 小结
第IV部分 PL/SQL与Java和Web
第13章 PL/SQL与JAVA
13.1 在数据库中使用Java
13.1.1 执行文件I/O
13.1.2 Oracle 9i中Java存储过程的新特性
13.2 PL/SQL调用Java:Java存储过程
13.2.1 从服务器端PL/SQL调用Java存储过程
13.2.2 从非服务器端PL/SQL中调用Java存储过程
13.2.3 Java存储过程和PL/SQL存储过程的比较
13.3 创建Java存储过程
13.3.1 创建Java存储过程的基本步骤
13.3.2 从SQL和(或)PL/SQL中调用Java存储过程
13.3.3 加载Java方法
13.3.4 将Java方法发布到数据库
13.4 执行Java存储过程
13.4.1 从顶层执行
13.4.2 从数据库触发器中执行
13.4.3 从SQL DML中执行
13.4.4 从PL/SQL中执行
13.5 返回结果集的Java存储过程
13.5.1 写一个返回结果集的Java方法并将其编译生成一个.class文件
13.5.2 将.class文件加载到Oracle 9i数据库中
13.5.3 在Oracle 9i数据库中,使用PL/SQL调用规范发布Java方法
13.5.4 使用PL/SQL调用规范调用Java存储过程
13.6 小结
第14章 PL/SQL与Web
14.1 在PL/SQL中使用HTML
14.1.1 创建一个数据库访问描述符
14.1.2 创建存储过程
14.1.3 将存储过程作为URL进行调用
14.1.4 在PL/SQL中使用HTML时传递参数
14.2 HTML中的PL/SQL:PL/SQL Server Page
14.2.1 PSP基础
14.2.2 开发PL/SQL Server Page
14.3 使用PL/SQL构建面向Web的应用程序
14.3.1 用户接口
14.3.2 业务逻辑
14.3.3 Organization Web应用程序的调用
14.4 使用PL/SQL发送电子邮件
14.5 小结
第V部分 PL/SQL性能与标准
第15章 影响性能的因素
15.1 一些PL/SQL调整过程
15.2 PL/SQL代码的本地编译
15.2.1 本地编译的工作过程
15.2.2 性能受益
15.2.3 附加参数
15.3 通过引用传递参数
15.3.1 参数传递的过程
15.3.2 性能受益
15.4 使用本地动态SQL
15.4.1 本地动态SQL的执行过程
15.4.2 性能受益
15.5 使用批绑定
15.5.1 批绑定的过程
15.5.2 性能受益
15.6 使用RETURNING子句
15.6.1 RETURNTNG子句的工作过程
15.6.2 性能受益
15.7 使用对象类型和集合
15.8 使用管道表函数
15.8.1 管道表函数的工作过程
15.8.2 性能受益
15.9 小结
第16章 PL/SQL编码标准
16.1 编码标准
16.1.1 PL/SQL入门
16.1.2 游标
16.1.3 PL/SQL记录和Index-by表
16.1.4 错误消息处理
16.1.5 子程序
16.1.6 数据库触发器
16.1.7 本地动态SQL
16.1.8 自治事务
16.1.9 本地批绑定
16.1.10 数据库对象
16.1.11 集合
16.1.12 大对象
16.1.13 数据库中的Java
16.2 小结
第VI部分 附录
附录A 案例分析与模式对象
A.1 组织层次系统
A.2 订单录入应用系统
猜您喜欢