ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle PL/SQL实例精解 (原书第4版)

Oracle PL/SQL实例精解 (原书第4版)

原创 Linux操作系统 作者:hzbook2008 时间:2011-06-13 14:45:01 0 删除 编辑

Oracle PL/SQL实例精解(原书第4版)

本书是一本集中式的解决方案范例教程,使用真实场景的试验、大量范例、练习来介绍所需的所有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 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 和WHERECURRENT 游标 ……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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16502878/viewspace-697801/,如需转载,请注明出处,否则将追究法律责任。

上一篇: PHP和MySQL Web开发
下一篇: 编译Linux 2.6内核
请登录后发表评论 登录
全部评论

注册时间:2008-10-23

  • 博文量
    209
  • 访问量
    756432