标题：精通OraclePL/SQL
图书信息
书   名: 精通OraclePL/SQL
外文书名: Mastering Oracle PL/SQL Practical Solutions 
丛书名: 图灵程序设计丛书·数据库系列 
作　者：麦克唐纳(McDonald.C.)(作者), Chaim Katz(作者), Christopher Beck(作者) 等, 蔡伟毅(译者)
出版社: 人民邮电出版社; 第1版 (2009年9月1日) 
平装: 439页 
正文语种: 简体中文 
开本: 16 
定价: 69.00 元
ISBN: 9787115208385, 9787301123676 
条形码: 9787115208385 
商品尺寸: 23.4 x 18.4 x 2 cm 
商品重量: 662 g 
ASIN: B002N2YRSE
内容简介
《精通Oracle PL/SQL》由全球Oracle技术专家组织0ak Table Network的多位大师联手编写。与市面上许多PL/SQL图书只是纸上谈兵、局限于语法和功能本身不同，《精通Oracle PL/SQL》从实战出发。讲述如何正确、充分地运用语言特性，除了PUSQL的基本功能之外，也包括数据的高效处理、安全、触发器、高效的调试技术等。作者在讲解每一个特性时都辅以经过实战检验的示例，更与读者分享了大量多年积累的独家经验。有《精通Oracle PL/SQL》在手，你将学会如何充分发挥PL/SQL的巨大潜能，编写出可靠、高效且易于维护的一流程序。
作者简介
麦克唐纳（Conner McDonald），世界著名的Oracle技术专家，Oracle认证专家，具有十多年的Oracle系统开发经验，以精深的PL/SQL造诣享誉业界。他的个人网站www*oracledba*co*uk是极具影响的Oracle技术资源。 
目录
第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