CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 Oracle Database 11g PL/SQL编程实战 基本信息 原书名: Oracle Database 11g PL/SQL Programming Workbook 原出版社: McGraw-Hill Osborne Media 作者: (美)Michael McLaughlin John Harper 译者: 陈武 出版社:清华大学出版社 ISBN:9787302249634 上架时间:2011-4-11 出版日期:2011 年3月 开本:16开 页码:345 版次:1-1 内容简介 提升pl/sql编程技巧 《oracle database 11g pl/sql编程实战》通过动手练习、大量的示例以及实际的项目帮助读者掌握pl/sql。书中包含大量最佳实践,涵盖了pl/sql语言所有的最新功能和改进之处。每章末尾配有测验题,可以帮助读者进一步巩固所学内容,书中的示例代码也可以通过www.oraclepressbooks.com和www.tupwk.com.cn/downpage下载获取。即使是经验丰富的oracle专业人员,也可以从这本实战手册中受益。 主要内容 ·理解oracle开发架构和连接机制 ·使用数据类型、结构、块、游标和pl/sql语义 ·编写、部署并使用函数、过程和包 ·管理事务和错误 ·在实际应用程序中使用动态sql语句 ·使用外部表支持在线事务处理和数据仓库应用程序 ·查找语法示例和最佳实践以解决问题 ·利用集合实现sql和pl/sql解决方案 ·编写、部署和使用对象类型 作译者 Michael McLaughlin是杨百翰大学爱达荷分校计算机信息技术系的一名资深教授,他也是一位Oracle ACE。作为开发人员、DBA和E-Business Suite Applications DBA,Michael已经有20多年使用Oracle系列产品的经验。Michael在离开Oracle公司时是Oracle Applications Division部门Release Engineering小组的Senior Upgrade Manager,他在Oracle从事咨询、支持和开发工作超过8年时间。他是ATOMS事务架构专利(美国专利号#7206805和#7290056)的发明者,这些专利已经转让给Oracle公司。 John M.Harper在过去11年多时间里一直从事数据库相关工作,主要方向是Oracle管理、模式设计、PL/SQL和信息质量.a他目前在Jesus Christ of Latter-day Saints教堂工作,职位是高级信息质量工程师.他享受自己从事的数据仓储、商业智能和数据库工程师工作. 目录 封面 -16 封底 346 扉页 -15 版权 -14 前言 -13 致谢 -5 目录 -4 第Ⅰ部分 PL/SQL基础 1 第1章 Oracle开发概述 3 1.1 历史和背景知识 4 1.2 架构 5 1.2.1 两层模型 8 1.2.2 三层模型 12 1.3 可下载代码 13 1.4 小结 13 1.4.1 最佳实践回顾 13 1.4.2 测验 13 第2章 PL/SQL基础 15 2.1 PL/SQL块 16 2.1.1 原型 17 2.1.2 基本匿名块 18 2.1.3 Hello World匿名块 19 2.1.4 Hello Somebody匿名块 20 2.1.5 Hello Somebody命名块 23 2.1.6 嵌套块 24 2.2 变量:类型、赋值和运算符 25 2.2.1 文本数据类型 27 2.2.2 日期和时间戳类型 28 2.2.3 数值类型 31 2.2.4 复合变量类型 34 2.3 控制结构 37 2.3.1 if语句 37 2.3.2 case语句 38 2.3.3 循环结构 39 2.4 批量操作 47 2.5 可下载代码 48 2.6 小结 48 2.6.1 最佳实践回顾 49 2.6.2 测验 49 第3章 事务作用域 51 3.1 数据库ACID测试 52 3.1.1 原子性 52 3.1.2 一致性 53 3.1.3 隔离性 53 3.1.4 持久性 54 3.2 多版本并发控制 54 3.3 保存点、提交和事务回滚 54 3.3.1 保存点和回滚 54 3.3.2 提交 59 3.4 DML锁定和隔离控制 61 3.5 调用者和定义者权限 67 3.6 可下载代码 68 3.7 小结 69 3.7.1 最佳实践回顾 69 3.7.2 测验 69 第4章 错误管理 71 4.1 错误类型 72 4.1.1 编译时错误 72 4.1.2 语义错误 77 4.2 PL/SQL工具 87 4.3 可下载代码 91 4.4 小结 91 4.4.1 最佳实践回顾 92 4.4.2 测验 92 第Ⅱ部分 PL/SQL编程 95 第5章 函数 97 5.1 函数架构 98 5.1.1 传值函数 98 5.1.2 传址函数 99 5.1.3 函数模型选择 100 5.1.4 事务作用域 101 5.1.5 调用参数说明 101 5.2 函数开发 103 5.2.1 确定性子句 104 5.2.2 PARALLEL_ENABLE子句 105 5.2.3 管线表子句 105 5.2.4 RESULT_CACHE子句 110 5.2.5 系统引用游标 112 5.2.6 递归函数 114 5.2.7 传址函数 114 5.3 可下载代码 115 5.4 小结 115 5.4.1 最佳实践回顾 116 5.4.2 测验 116 第6章 过程 119 6.1 过程架构 120 6.1.1 传值过程 120 6.1.2 传址函数 121 6.1.3 事务作用域 121 6.1.4 调用参数说明 122 6.2 过程开发 122 6.2.1 传值过程 123 6.2.2 传址过程 130 6.3 可下载代码 131 6.4 小结 132 6.4.1 最佳实践回顾 132 6.4.2 测验 132 第7章 集合 135 7.1 标量集合 137 7.1.1 varray 137 7.1.2 嵌套表 144 7.1.3 关联数组 145 7.2 对象类型集合 146 7.2.1 SQL嵌套表 146 7.2.2 PL/SQL嵌套表 148 7.3 记录类型集合 150 7.4 可下载代码 153 7.5 小结 153 7.5.1 最佳实践回顾 153 7.5.2 测验 153 第8章 包 157 8.1 包架构 158 8.1.1 更大的组织 158 8.1.2 程序持续性和内存驻留 159 8.1.3 更大的程序规模 159 8.2 包规范 159 8.3 无主体包 162 8.4 包主体 163 8.5 %TYPE和%ROWTYPE 166 8.6 模块化编程 168 8.7 重载 171 8.8 增强安全性 173 8.9 定义者和调用者权限 176 8.10 可下载代码 179 8.11 小结 179 8.11.1 最佳实践回顾 179 8.11.2 测验 180 第9章 触发器 183 9.1 触发器架构 184 9.2 触发器引发次序 186 9.3 触发器类型 188 9.3.1 DML触发器 188 9.3.2 DDL触发器 192 9.3.3 系统事件触发器 193 9.4 安全性和Oracle细粒度审计 195 9.5 分布式数据完整性 198 9.6 可下载代码 201 9.7 小结 201 9.7.1 最佳实践回顾 201 9.7.2 测验 202 第10章 对象 205 10.1 基本声明、实现和使用 207 10.1.1 定义并实现对象类型 207 10.1.2 实现Getter和Setter 210 10.1.3 实现静态方法 212 10.2 比较对象 216 10.2.1 MAP函数比较 217 10.2.2 ORDER函数比较 219 10.3 继承和多态 221 10.4 对象集合 224 10.5 可下载代码 227 10.6 小结 227 10.6.1 最佳实践回顾 227 10.6.2 测验 228 第Ⅲ部分 PL/SQL高级编程 231 第11章 动态SQL 233 11.1 本地动态SQL 234 11.1.1 无绑定变量的动态语句 235 11.1.2 带绑定变量的动态语句 237 11.2 DBMS_SQL包 246 11.2.1 无绑定变量的动态语句 246 11.2.2 带绑定变量的动态语句 247 11.2.3 混合并匹配NDS和DBMS_SQL 250 11.3 可下载代码 251 11.4 小结 251 11.4.1 最佳实践回顾 252 11.4.2 测验 252 第12章 外部文件 255 12.1 外部表架构 256 12.1.1 CSV文件 257 12.1.2 位置特定文件 260 12.1.3 TSV文件 261 12.1.4 转换XML为CSV文件 262 12.1.5 使用Java存储库清理文件 264 12.2 导入CLOB 268 12.3 可下载代码 276 12.4 小结 276 12.4.1 最佳实践回顾 277 12.4.2 测验 277 第Ⅳ部分 附录 279 附录A 包装PL/SQL 281 附录B PL/SQL层次性能分析器 287 附录C PL/Scope 299 附录D PL/SQL内置包和类型 303 附录E 测验答案 321 前言 本手册旨在作为Michael McLaughlin撰著的《Oracle Database 11g PL/SQL程序设计》(清华大学出版社引进并出版)一书的补充。我们决非以此书代替《Oracle Database 11g PL/SQL程序设计》,但是对于已经非常熟悉PL/SQL的读者,则可以使用本书作为快速参考。对于与《Oracle Database 11g PL/SQL程序设计》有关的问题,我们专门建立了公告板,网址如下:http://plsql11g.net。 我们希望找到有相同兴趣的人帮助管理该公告板。如果您有兴趣,请使用Mike技术博客上的联系表单联系我们。 只要本书篇幅允许,我们特意地尽可能多包含一些真实示例。此外,每章中还包含大量的最佳实践和练习,用于帮助学习PL/SQL。最后,我们使本书的主题尽可能轻松并且易于理解,希望您在阅读本书时享受到与我们创作本书时相同的乐趣。 在接下来的各小节中分别介绍本书概述、建议阅读清单、如何学习、词汇、本书约定,以及本书的ERD模型。 本书概述 本书每一章都包含“最佳实践”,并且在每一章最后的小结部分对本章内容进行了总结。在每章小结之前还提供了可下载代码清单。每章小结的最后一项“测验”包含了一系列关于本章内容的判断题和选择题。在附录E中可以找到这些问题、可能的答案、解决方案以及相关解释。 第Ⅰ部分:PL/SQL基础 ·第1章介绍了Oracle开发架构以及连接机制。 ·第2章提供了关于数据类型、结构、程序块、游标和语言语法的快速课程。 ·第3章介绍如何管理Oracle数据库中的事务。 ·第4章介绍如何理解并管理Oracle数据库中的错误。 第Ⅱ部分:PL/SQL编程 ·第5章介绍如何定义和使用PL/SQL函数。 ·第6章介绍如何定义和使用PL/SQL过程。 ·第7章介绍如何在SQL和PL/SQL环境中定义和使用SQL与PL/SQL集合。 ·第8章介绍如何定义和使用PL/SQL包。 ·第9章介绍如何定义和使用PL/SQL触发器。 ·第10章介绍如何在PL/SQL中定义和使用对象,以及如何将其部署为数据库表中的列。 第Ⅲ部分:PL/SQL高级编程 ·第11章介绍如何在真实应用程序上下文中使用动态SQL语句。 . ·第12章介绍如何使用外部表支持OLTP和数据仓库应用程序。 第Ⅳ部分:附录 ·附录A介绍如何包装PL/SQL存储程序以防止其业务逻辑被偷窥。 ·附录B介绍Oracle Database 11g分层性能分析器的工作原理,并演示其使用方法。 ·附录C介绍PL/Scope的工作原理并提供了快速概念分析。 ·附录D介绍Oracle提供的包和类型,用于支持以数据库为中心的应用程序开发。 ·附录E重新列出了每一章小结部分中的测验题,并提供相应的答案和解释。 建议阅读清单 本书的两位作者都在数据库行业有着多年的从业经验。对于自己的日常任务,他们采用了一致的、持续的学习方法,并且希望将其介绍给读者,因为这对于一名成功的数据库专家非常重要。此外,虽然下面的阅读清单非常冗长;但是,即使仅仅简要了解其中的主题和概念,也足以帮助读者做出比90%的所谓专家更佳的数据库决策。 ·Michael McLaughlin,《Oracle Database 11gPL/SQL程序设计》(清华大学出版社引进并出版) ·Thomas Kyte, Effective Oracle by Design, McGraw-Hill/Professional ·David Knox, Effective Oracle Database log Security by Design, McGraw-Hill/Professional ·Robert Freeman and Amp Nanda, Oracle Database 11g New Features, McGraw-Hill/Professional ·Robert Freeman and Matthew Hart, Oracle Database 11g RMAN Database, McGraw-Hill/Professional ·Thomas Kyte, Expert Oracle Database Architecture: 9i and log Programming Techniques and Solutions, Apress ·Jonathan Lewis, Cost-Based Oracle Fundamentals, Apress ·Richard Strohm, Oracle Database Concepts 1 lg, Oracle Corporation ·Diana Lorentz, Oracle Database SQL Language Reference 11g, Oracle Corporation ·Sheila Moore, Oracle Database PL/SQL Language Reference 11g, Oracle Corporation ·Dennis Raphaely, Oracle Database PL/SQL Packages and Types Reference, Oracle Corporation ·Shelia Moore, Oracle Database Advanced Application Developer's Guide 11g, Oracle Corporation 如何学习 有一个生命的奇迹持续不断地让我们感到惊奇,那就是孩子发现、适应并了解其周围世界的能力。他们每天晚上花费平均10~12小时睡觉并不让我们感到惊奇。此外,他们的两个最重要的特征是好奇心和以开放心态看待生活的能力。关于如何学习这个主题,爱因斯坦曾经说过:“最重要的是不停地提出问题。好奇心有它自己存在的理由”。 理解关于PL/SQL的不同编程方法对于读者而言可能会觉得困难,尤其作为您学习的第一门计算机语言时;但是,如果您真正相信自己并且保持自己的方向和好奇心,那么就没有学不会的内容。 词汇 PL/SQL开发人员都习惯于类型化对象和变量,因为这是老师传授的实际经验或通过可信任出版物学习到的经验;但是他们没有用心理解其产生原因。 大多数PL/SQL类型化都类似于Charles Simonyi(在2002年之前任微软公司的首席架构师)所引入的Hungarian记号。他将这种记号设计为语言无关的:但是其根源可以追溯到BCPL语言,这是一种弱类型语言。弱类型语言不对数据类型进行严格的限制,允许变量和数据结构之间的松散、隐式转换。出于这个原因,Simonyi使用代表其数据类型的符号作为对象的前缀——voila,这是类型的起源。 行业的精英们对于对象类型化毁誉参半。例如,Linux操作系统的创始人Linus Torvalds认为将函数数据类型编码到名称中是“大脑损坏,因为编译器已经知道其类型”。反过来,Code Complete一书的作者Steve McConnell认为“简练、精确缩写标准化(命名约定)的基本思想仍然具有其价值”。 不管读者是否选择类型化对象,都必须制订或采用编码约定,并坚持执行。下面是我们从事多年PL/SQL及数据库开发工作中得出的3个最重要的经验教训: ·不管代码多么简单或粗糙,一旦纳入到生产系统中就不能认为其是临时性的。 ·有些时候您需要维护自己编写的代码,有些时候则需要继承大量其他人编写的代码。 ·使用清晰、标准的命名约定可以节省时间并减少错误。 由于这些原因,建议尽早采用词汇和语义最佳实践。例如,可以使用代表其数据类型的字符作为用户定义对象的前缀或后缀,如下所示: 这种类型化定义并不是为了帮助编译器理解数据类型:相反,其目的是帮助其他开发人员了解所创建对象的特征。下面是一个示例: 观察其中使用两个符号作为每个变量的前缀,分别代表其全局或局部特征和数据类型。Oracle维基(http://wiki.oracle.com)的贡献者建议类型化应该局限于前缀。此外,前缀必须由标识变量类型的字母(如表0-1中所示)组成。
















- 粉丝: 152
- 资源: 185

我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
已下载
下载帮助




- 1
- 2
- 3
- 4
- 5
- 6
前往页