好书推荐 好书速递 排行榜 读书文摘

精通Oracle PL/SQL

精通Oracle PL/SQL
作者:[澳] Connor McDonald / [加] Chaim Katz / [美] Christopher Beck / [美] Joel R. Kallman / [美] David C. Knox
译者:蔡伟毅
副标题:Amazon五星图书,五位世界级技术专家联袂巨献
出版社:人民邮电出版社
出版年:2009-09
ISBN:9787115208385
行业:计算机
浏览数:7

内容简介

对于Oracle技术人员而言,怎么强调掌握PL/SQL的重要性都不过分。但是,真正精通PL/SQL绝非易事。事实上,在现有的Oracle应用程序中充斥着太多质量不佳的PL/SQL代码,它们要么没有充分利用Oracle特有的功能,要么是在误用或者滥用。这种现象导致了许多对PL/SQL本身能力不公正的批评。

本书由全球Oracle技术专家组织OakTable Network的多位大师联手编写,是为PL/SQL正名的名著。与市面上许多PL/SQL图书只是纸上谈兵、局限于语法和功能本身不同,本书从实战出发,讲述如何正确、充分地运用语言特性,除了PL/SQL的基本功能之外,也包括数据的高效处理、安全、触发器、高效的调试技术等。作者在讲解每一个特性 时都辅以经过实战检验的示例,更与读者分享了大量多年积累的独家经验。有本书在手,你将学会如何充分发挥PL/SQL的巨大潜能,编写出可靠、高效且易于 维护的一流程序。

......(更多)

作者简介

Connor McDonald 世界著名的Oracle技术专家,Oracle认证专家,具有十多年的Oracle系统开发经验,以精深的PL/SQL造诣享誉业界。他的个人网站www.oracledba.co.uk是极具影响的Oracle技术资源。

Chaim Katz Oracle认证专家,擅长数据库管理和PL/SQL开发,为各种Oracle技术期刊写过大量文章。

Christopher Beck Oracle公司资深技术专家,专攻核心数据库技术和Web应用开发。除本书外,他还与Joel R. Kallman和Tom Kyte等人合著了畅销书Beginning Oracle Programming。

Joel R. Kallman Oracle公司软件开发总监。

David C. Knox 世界著名的Oracle安全专家,Oracle公司Solution Engineering集团的高级总监。

......(更多)

目录

第1章 高效能的PL/SQL

1.1 为何使用PL/SQL

1.1.1 PL/SQL贴近数据

1.1.2 最简单的通常是最好的

1.2 什么是高效能的PL/SQL

1.2.1 性能

1.2.2 影响

1.2.3 可论证性

1.3 达到高效能

1.3.1 绑定变量和解析的代价

1.3.2 使用PL/SQL的可用特性

1.3.3 不要使用PL/SQL来做SQL的工作

1.4 小结

第2章 全部打包

2.1 包的基本好处

2.1.1 包的重载

2.1.2 包中的公有变量和私有变量

2.1.3 初始化

2.1.4 信息隐藏

2.2 独立的过程和依赖危机

2.3 打破依赖链

2.4 使用递归

2.5 人们为何避而不用包

2.5.1 忽视分离的好处

2.5.2 这是个包,不是库

2.6 何时不能使用包

2.7 发布包

2.7.1 路径跟踪编程变得简单

2.7.2 其他有用的例程

2.7.3 检索DDL

2.7.4 DBMS_ROWID的有趣应用

2.7.5 后台任务

2.8 小结

第3章 令人困惑的游标

3.1 显式游标与隐式游标

3.1.1 单行的读取

3.1.2 多行处理

3.1.3 TOP-N处理

3.1.4 结论

3.2 跨架构的游标管理

3.2.1 游标变量

3.2.2 游标表达式

3.3 小结

第4章 高效数据处理

4.1 控制数据类型

4.1.1 使用%TYPE属性

4.1.2 使用包集中控制数据类型

4.1.3 避免隐式数据类型转换

4.2 从字段到行——使用%ROWTYPE

4.3 从记录到对象

4.3.1 对象类型

4.3.2 用集合扩展runstats

4.4 在PL/SQL中使用集合的动机

4.5 用集合来批处理

4.5.1 批收集

4.5.2 批量绑定

4.6 在PL/SQL程序间传递变量

4.6.1 将%TYPE和%ROWTYPE作为参数传递

4.6.2 将集合作为参数传递

4.7 PL/SQL中的事务处理

4.8 自治事务

4.8.1 在触发器中避免变异表错误

4.8.2 作为事务的一部分执行DDL

4.8.3 审计SELECT语句

4.8.4 回滚后保持审计

4.9 小结

第5章 PL/SQL优化技巧

5.1 尽量减少解析和内存消耗

5.1.1 触发器内的代码

5.1.2 调用者权限过程

5.1.3 解放思想:使用管道函数

5.2 数据类型:提示和技巧

5.2.1 关联数组

5.2.2 集合

5.2.3 使用基于记录的DML时的问题

5.3 调用PL/SQL

5.3.1 使用PL/SQL来显露数据模型,而不是扩展它

5.3.2 动态调用PL/SQL

5.4 PL/SQL中的SQL

5.4.1 SQL函数和递归SQL

5.4.2 高效的动态SQL

5.5 小结

第6章 触发器

6.1 触发器概念

6.1.1 触发器类型

6.1.2 事件属性

6.1.3 触发器计时

6.1.4 多个相似的触发器

6.1.5 DML行前与行后触发器的性能

6.1.6 权限

6.1.7 触发器和数据字典

6.1.8 触发器依赖性

6.1.9 触发器状态

6.1.10 触发器失败

6.1.11 触发器的局限性

6.2 DML触发器

6.2.1 存储审计信息

6.2.2 实现转变约束

6.2.3 生成代理键

6.3 替代触发器

6.4 变异表

6.4.1 延时处理方案

6.4.2 变异表和自治事务

6.4.3 其他变异表错误

6.5 数据审计

6.6 表的多版本

6.7 Oracle流

6.8 作业队列(临时事件触发器)

6.8.1 作业调度

6.8.2 作业和DML触发器

6.8.3 作业与共享池

6.8.4 作业错误

6.9 DDL触发器

6.9.1 DDL完整性触发器

6.9.2 DDL审计跟踪

6.10 数据库事件触发器

6.11 登录触发器

6.11.1 服务器错误触发器

6.11.2 挂起事件触发器

6.11.3 错误和数据库事件触发器

6.12 别“重造轮子”

6.13 小结

第7章 DBA包

7.1 警告文件包

7.1.1 包结构

7.1.2 警告文件的结构

7.1.3 警告文件作为外部表

7.1.4 处理警告文件

7.1.5 异常

7.1.6 通知的生命周期

7.1.7 更替警告文件

7.1.8 调度和并发

7.1.9 使用警告文件的警告

7.1.10 回顾警告文件的内容

7.1.11 小结

7.2 通知包

7.2.1 SEND_EMAIL过程

7.2.2 在数据库中保存警告消息

7.2.3 小结

7.3 主动监控包

7.3.1 备份

7.3.2 归档日志目录下的空闲空间

7.3.3 监控数据库中的空闲空间

7.3.4 小结

7.4 历史数据包

7.4.1 数据库大小

7.4.2 数据库会话

7.4.3 资源限制

7.4.4 小结

7.5 小结

第8章 安全包

8.1 设计问题

8.1.1 回顾定义者和调用者权限

8.1.2 包的构建

8.1.3 模式,到处都是模式

8.1.4 代码发布

8.2 触发器与安全因素

8.2.1 安全检查

8.2.2 登录触发器:第一道防线

8.3 保护源代码

8.3.1 查看过程和函数的源代码

8.3.2 包的源代码

8.3.3 PL/SQL封装工具

8.4 小结

第9章 Web包

9.1 PL/SQL Web工具包基础

9.1.1 架构

9.1.2 包的汇总

9.1.3 从SQL*Plus测试工具包

9.2 HTP和HTF包

9.3 使用环境变量

9.4 cookie

9.5 管理文件

9.6 通过Web管理表

9.7 来自数据库的HTTP

9.7.1 提取HTML

9.7.2 使用UTL_HTTP的Web服务客户端

9.8 小结

第10章 PL/SQL调试

10.1 防卫型的编码

10.1.1 异常

10.1.2 装备你的代码

10.1.3 写文档

10.2 工具

10.2.1 DBMS_OUTPUT

10.2.2 SQLCODE和SQLERRM

10.2.3 DBMS_UTILITY.FORMAT_CALL_STACK

10.2.4 DBMS_APPLICATION_INFO

10.2.5 自治事务

10.2.6 UTL_FILE

10.2.7 用管道函数实时调试

10.3 自定义BEBUG工具

10.3.1 需求

10.3.2 数据库设计和安装

10.3.3 包的布局

10.3.4 实现

10.3.5 基本操作

10.3.6 使用STATUS

10.3.7 有选择的调试

10.3.8 调试成品代码

10.3.9 DEBUG的用处

10.4 小结

附录A 构建DEBUG

......(更多)

读书文摘

......(更多)

猜你喜欢

点击查看