首页>参考读物>计算机科学与技术>数据库

Oracle PL/SQL 实例精解
作者 : Benjamin Rosenzweig; Elena Silvestrova Rakhimov
译者 : 龚波
出版日期 : 2009-06-24
ISBN : 978-7-111-26803-1
定价 : 85.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 616
开本 : 16
原书名 : Oracle PL/SQL by Example, 4E
原出版社: Pearson Education Asia
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书是一个面向任务的Oracle教材,适合于课堂教学或者自学,特别适合于希望或者需要明确实例和练习的读者。本书随着Oracle版本发布而不断推陈出现,目前已经是第4版了,主要面向于Oracle 11g版本的开发和使用。本版本相对于以前版本的特点包括:内容更新到Oracle 11g,提供成百上千的范例、问题和答案,展示真实的实验室场景等。

原书配套网站:www.informit.com/title/0137144229 提供相关资料。

图书特色

Oracle PL/SQL实例精解(原书第4版)
(美) Benjamin Rosenzweig
Elena Silvestrova Rakhimov 著

本书是一本集中式的解决方案范例教程,使用真实场景的试验、大量范例、练习来介绍所需的所有Oracle PL/SQL技能。这个版本完全面向Oracle 11g,覆盖Oracle PL/SQL编程的所有基础知识,包括PL/SQL语法、程序控制结构、包,以及Oracle 11g重要改进的触发器。
你可以通过本书独立学习每个关键任务,以及最重要的PL/SQL编程技术。通过实践性的学习手段,可以分享作者的解决方案,这些解决方案提供深度探索视角和已证实的最佳实践。每章后面的项目会综合应用所学的技术,通过实践活动加深对知识的理解和掌握程度。
本书的写作手法充分体现了作者在哥伦比亚大学向专业人士教授PL/SQL编程的经验和技巧。通过这种逐步分解的讲解方式,数据库开发者和DBA的新手可以更快地获取工程实践经验;高级的PL/SQL程序员可以把本书作为实践性解决方案的参考资源。
本书主要内容:

掌握基本的PL/SQL概念和通用的编程语言基础知识,理解如何在PL/SQL代码中使用SQL。
使用条件式和迭代式程序控制技术,包括新的CONTINUE和CONTINUE WHEN语句。
高效地处理错误和异常。
使用游标和触发器,包括Oracle 11g新提供的,强大的复合触发器。
使用存储过程、函数和包来编写其他程序可以执行的模块化代码。
使用集合、对象-关系特性、本地动态SQL、批量SQL和其他高级的PL/SQL特性。
非常方便的参考资源附录:PL/SQL格式化指南、数据库模式范例、ANSI SQL标准参考等。

作者简介
Benjamin Rosenzweig是Misys公司的软件开发经理。在此之前,他是Oracle公司的首席顾问。他的工作经历包括在尼泊尔的加德满都市开发藏文-英文的电子字典,支持位于Goldman Sachs的演示中心,以及管理TIAA-CREF的交易系统。他是哥伦比亚大学计算机技术与应用编程的讲师,并被授予杰出教授奖。他的主要著作为《Oracle Forms Developer: The Complete Video Course》和《Oracle Web Application Programming for PL/SQL Developers》。
Elena Silvestrova Rakhimov是Alea软件的高级研发师和团队领导者。在企业和商业环境的数据库开发经验超过15年,涉及领域包括非赢利组织和华尔街,始终在哥伦比亚大学教授数据库编程方面的课程。

封底文字

《Oracle PL/SQL实例精解》第4版
Benjamin Rosenzweig和Elena Silvestrova Rakhimov
《Oracle PL/SQL实例精解》第4版是一本集中式的解决方案范例教程,使用真实场景的试验、大量范例、练习来介绍所需的所有Oracle PL/SQL技能。这个版本完全面向Oracle 11g,覆盖Oracle PL/SQL编程的所有基础知识,包括PL/SQL语法、程序控制结构、包,以及Oracle 11g重要改进的触发器。
在本书中,你可以独立学习本书提供的每个关键任务,以及最重要的PL/SQL编程技术。通过实践性的学习手段,可以分享作者的解决方案,这些解决方案提供深度探索视角合已证实的最佳实践。每章后面的项目会综合应用所学的技术,通过实践活动加深对知识的理解合掌握程度。
本书的写作手法充分体现了作者在哥伦比亚大学向专业人士教授PL/SQL编程的经验和技巧。通过这种逐步分解的讲解方式,数据库开发者和DBA的新手可以更快地获取工程实践经验;高级的PL/SQL程序员可以把本书作为实践性解决方案的参考资源。本书覆盖的主题包括:
l 掌握基本的PL/SQL概念和通用的编程语言基础知识,理解如何在PL/SQL代码中使用SQL。
l 使用条件式和迭代式程序控制技术,包括新的CONTINUE和CONTINUE WHEN语句。
l 高效地处理错误和异常。
l 使用游标和触发器,包括Oracle 11g新提供的,强大的复合触发器。
l 使用存储过程、函数和包来编写其他程序可以执行的模块化代码。
l 使用集合、对象-关系特性、本地动态SQL、批量SQL和其他高级的PL/SQL特性。
l 非常方便的参考资源附录:PL/SQL格式化指南、数据库模式范例、ANSI SQL标准参考等等。
Benjamin Rosenzweig是Misys公司的软件开发经理。在此之前,他是Oracle Corporation的Principal Consultant。他的工作经历包括在尼泊尔的加德满都市开发藏文–英文的电子字典,支持位于Goldman Sachs的演示中心,以及管理TIAA-CREE的交易系统。他是哥伦比亚大学的Computer Technology and Application Program讲师,并被授予Outstanding Teaching Award。他主持编写图书《Oracle Forms Developer: The Complete Video Course》,与人合著图书《Oracle Web Application Programming for PL/SQL Developers》。
Elena Silvestrova Rakhimov是Alea Software的Senior Developer和Team Lead。在企业和商业环境的数据库开发经验超过15年,涉及领域包括非赢利组织和Wall Street(华尔街)。始终在哥伦比亚大学教授数据库编程方面的课程。

作者简介

Benjamin Rosenzweig; Elena Silvestrova Rakhimov:暂无简介

译者简介

龚波:100008 北京市海淀区知春路太月园小区6号楼503室 13522225156 86502682; 66364329-4916 gongbo@vip.sina.com

译者序

Oracle 11g 是一个功能极其强大,并且非常灵活的关系数据库系统。为了基于Oracle 设计有
用的应用程序,则有必要理解Oracle 是如何操作存储在本系统中数据的。PL/SQL 就是这样一种
实现数据操作的重要工具,你不仅可以在Oracle 内部使用它,而且可以在自己的应用程序中应用它。
在多种环境下PL/SQL 都是非常有用的,并且在不同环境下,它具有不同的优势。
本书是一本面向任务的Oracle 教材,适合于课堂教学或者自学,特别适合于需要明确实例和
练习的读者。本书随着Oracle 版本发布而不断推陈出新,目前已经是第4 版,主要面向于Oracle
11g 版本的开发和使用。本版与前几版相比,其特点包括:内容更新到Oracle 11g,提供成百上千
的范例、问题和答案,展示真实的实验场景等。
本书作者是Oracle 系列图书的畅销作者,编写了多本有关PL/SQL 的图书。本书不仅适用于
PL/SQL 的初学者,而且适合于Oracle 开发人员参考。从根本上来说,本书是非常实用的,而且
是非常宝贵的参考资源!
我们很荣幸能够有机会承担本书的翻译工作。在翻译过程中,经常为一句话、一个术语进行
反复的讨论,到处查找资料,力图使本书的翻译能正确、贴切地反映原文的意思,同时注意使句子、
段落符合中国人的语言习惯。我们真挚地希望你能从本书中获益,这是作者的初衷,也是我们的
愿望!
本书由龚波、徐雅丽等组织翻译,很多人为本书的翻译和出版付出努力工作。参加本书翻译
的其他人员包括:张平、李平芳、冯军、龚志翔、李志、姜南、任志宏、王强、刘刚等。
由于时间仓促,且译者经验和水平有限,译文中难免有不妥之处,恳请读者批评指正!
译 者
2009 年1 月

图书目录

译者序
致谢
作者简介
Oracle 11g 中PL/SQL 新特性简介
第1 章 PL/SQL 概念 ………………………1
1.1  在客户端/ 服务器架构中
PL/SQL 的应用 ……………………………1
1.1.1 使用PL/SQL 匿名语句块 ……………6
1.1.2 理解如何执行PL/SQL ………………8
1.2 SQL*Plus 中的PL/SQL …………………9
1.2.1 使用替代变量 …………………… 13
1.2.2  使用DBMS_OUTPUT.PUT_L NE
语句 ……………………………… 14
1.3 动手试验 ……………………………… 15
第2 章 通用编程语言基础…………… 16
2.1 PL/SQL 编程基础 ……………………… 16
2.1.1  充分利用PL/SQL 语言
组件 ……………………………… 17
2.1.2 充分利用PL/SQL 变量 …………… 18
2.1.3 合理使用PL/SQL 保留字 ………… 20
2.1.4 在PL/SQL 中使用标识符 ………… 21
2.1.5 使用Anchored 数据类型 ………… 22
2.1.6 声明和初始化变量 ……………… 24
2.1.7  理解语句块、嵌套语句块和标签的
作用范围 ………………………… 27
2.2 动手试验 ……………………………… 30
第3 章 PL/SQL 中的SQL ……………… 31
3.1 在PL/SQL 中使用DML ……………… 31
3.1.1  变量初始化时使用SELECT NTO
语法 ……………………………… 32
3.1.2 在PL/SQL 语句块中使用DML … 34
3.1.3 在PL/SQL 语句块中使用序列 …… 35
3.2 使用SAVEPO NT …………………… 36
3.3 动手试验 ……………………………… 41
第4 章 条件控制: F 语句 …………… 42
4.1  F 语句 ………………………………… 42
4.1.1 使用 F-THEN 语句 ……………… 46
4.1.2 使用 F-THEN-ELSE 语句 ……… 49
4.2 ELS F 语句 …………………………… 52
4.3 嵌套 F 语句 …………………………… 60
4.4 动手试验 ……………………………… 65
第5 章 条件控制:CASE 语句 ………… 66
5.1 CASE 语句 …………………………… 66
5.1.1 使用CASE 语句 ………………… 72
5.1.2 使用搜索式CASE 语句 ………… 75
5.2 CASE 表达式 ………………………… 79
5.3  NULL F 和COALESCE
函数 …………………………………… 85
5.3.1 NULL F 函数 ……………………… 88
5.3.2 使用COALEESCE 函数 ………… 91
5.4 动手试验 ……………………………… 93
第6 章  迭代控制:第一部分 ………… 95
6.1 简单循环 ……………………………… 95
6.1.1 使用带有EX T 条件的简单循环 … 98
6.1.2  使用带有EX T WHEN 条件的
简单循环 …………………………100
6.2 WH LE 循环 ……………………………103
6.3 数值型FOR 循环 ………………………110
6.3.1  与 N 选项一起使用数值型FOR
循环 ………………………………114
6.3.2  与REVERSE 选项一起使用数值型
FOR 循环 …………………………115
6.4 动手试验 ………………………………117
第7 章 迭代控制:第二部分 …………118
7.1 CONT NUE 语句 ………………………118
7.1.1 使用CONT NUE 语句 ……………121
7.1.2  使用CONT NUE WHEN
语句 ………………………………126
7.2 嵌套循环 ………………………………127
7.3 动手试验 ………………………………133
第8 章 错误处理和内置异常 …………134
8.1 处理错误 ………………………………134
8.2 内置异常 ………………………………138
8.3 动手试验 ………………………………146
第9 章 异常 …………………………………147
9.1 异常作用范围 …………………………147
9.2 用户定义异常 …………………………154
9.3 异常传播 ………………………………161
9.3.1 理解异常的传播方式 ……………166
9.3.2 再次抛出异常 ……………………169
9.4 动手试验 ………………………………171
第10 章 异常:高级概念 ………………172
10.1 RA SE_APPL CAT ON_ERROR ……………172
10.2 EXCEPT ON_ N T 编译指令 …………… 177
10.3 SQLCODE 和SQLERRM ……………180
10.4 动手试验 ………………………………185
第11 章 游标简介 …………………………186
11.1 游标操作 ………………………………186
11.1.1 充分利用记录类型 ………………190
11.1.2 处理显式游标 ……………………191
11.1.3 充分利用游标属性 ………………195
11.1.4 集成所做的工作 …………………197
11.2  使用游标FOR 循环和
嵌套游标 ………………………………200
11.2.1 使用游标FOR 循环 ……………201
11.2.2 处理嵌套的游标 …………………202
11.3 动手试验 ………………………………206
第12 章 高级游标 …………………………207
12.1  在游标和复杂的嵌套游标中
使用参数 ………………………………207
12.1.1 在游标中使用参数 ………………208
12.1.2 使用复杂的嵌套游标 ……………208
12.2  FOR UPDATE 和WHERE
CURRENT 游标 ………………………210
第13 章 触发器 ……………………………214
13.1 什么是触发器 …………………………214
13.1.1 理解什么是触发器 ………………221
13.1.2  使用BEFORE 和AFTER
触发器 ……………………………222
13.2 触发器类型 ……………………………225
13.2.1 使用行触发器和语句触发器 ……230
13.2.2 使用 NSTEAD OF 触发器 ………232
13.3 动手试验 ………………………………236
第14 章 复合触发器………………………237
14.1 变异表问题 ……………………………237
14.2 复合触发器 ……………………………244
14.3 动手试验 ………………………………256
第15 章 集合 ………………………………257
15.1 PL/SQL 表 ……………………………257
15.1.1 使用联合数组 ……………………265
15.1.2 使用嵌套表 ………………………270
15.2 变长数组 ………………………………272
15.3 多层集合 ………………………………279
15.4 动手试验 ………………………………284
第16 章 记录 ………………………………285
16.1 记录类型 ………………………………285
16.1.1  使用基于表的和基于游标的
记录 ………………………………292
16.1.2 使用用户定义的记录 ……………297
16.2 嵌套记录 ………………………………301
16.3 记录的集合 ……………………………306
16.4 动手试验 ………………………………311
第17 章 本地动态SQL …………………312
17.1  EXECUTE MMED ATE
语句 ……………………………………312
17.2  OPEN-FOR、FETCH 和
CLOSE 语句 …………………………323
17.3 动手试验 ………………………………331
第18 章 批量SQL…………………………332
18.1 FORALL 语句 …………………………332
18.2 BULK COLLECT 子句 ………………348
18.3 动手试验 ………………………………362
第19 章 过程 ………………………………363
19.1 创建过程 ………………………………364
19.1.1 创建过程 …………………………364
19.1.2  从数据字典查询有关过程的
信息 ………………………………366
19.2 过程传入和传出参数 …………………366
19.3 动手试验 ………………………………369
19.3.1 第一部分 …………………………369
19.3.2 第二部分 …………………………369
第20 章 函数 ………………………………370
20.1 创建和使用函数 ………………………370
20.1.1 创建存储函数 ……………………371
20.1.2 使用函数 …………………………372
20.1.3 在SQL 语句中调用函数 …………373
20.1.4 编写复杂的函数 …………………374
20.2 动手试验 ………………………………375
第21 章 包 …………………………………376
21.1 使用包的好处 …………………………376
21.1.1 创建包规范 ………………………378
21.1.2 创建包体 …………………………379
21.1.3 调用存储包 ………………………381
21.1.4 创建私有对象 ……………………383
21.1.5 创建包变量和游标 ………………386
21.2 游标变量 ………………………………388
21.3 扩展包 …………………………………396
21.4 动手试验 ………………………………408
第22 章 存储代码 …………………………409
22.1  收集有关存储代码的信息 ……………409
22.1.1 从数据字典收集存储代码信息 …409
22.1.2  使用RESTR CT_REFERENCES
编译指令实现纯度等级 …………414
22.1.3 重载模块 …………………………419
22.2 动手试验 ………………………………424
第23 章 Oracle 中对象类型 ……………425
23.1 对象类型 ………………………………425
23.1.1 使用对象类型 ……………………432
23.1.2 使用集合和对象类型 ……………436
23.2 对象类型方法 …………………………440
23.3 动手试验 ………………………………461
第24 章 Oracle 提供的包 ………………463
24.1  使用Oracle 提供的包来配置PL/SQL、
访问文件和调度作业 …………………463
24.1.1 使用UTL_F LE 来访问文件 ……469
24.1.2 使用DBMS_JOB 来调度作业 …470
24.1.3 提交作业 …………………………471
24.2  使用Oracle 提供的包来生成解释计划
和创建HTML 页面 …………………473
24.3  使用Oracle Web Toolkit 来创建
Web 页面 ………………………………482
附录A PL/SQL 格式化指南 ……………498
附录B Student 数据库模式 ……………502
附录C ANS SQL 标准 …………………506
附录D 动手试验部分的参考答案 ……510

教学资源推荐
作者: 杨佩理 陶瑜
作者: 丁兆云 周鋆 杜振国 著
作者: [美] 翟成祥(Chengxiang Zhai) 肖恩·马森(Sean Massung) 著
参考读物推荐
作者: Ben Chang
作者: William G.Page.Jr
作者: 吴德胜 赵会东 等编著
作者: 付磊 张益军 编著