书籍详情
Oracle PL/SQL实例精解(原书第5版)
作者:本杰明·罗森维格
出版社:机械工业出版社
出版时间:2016-03-01
ISBN:9787111528876
定价:¥79.00
购买这本书可以去
内容简介
本书通过实际的实验、示例和项目来讲解你所需的全部PL/SQL技能,它涵盖从基础语法、程序控制到最新的优化和安全增强等方面的知识。读者循序渐进地学习每个关键任务,自己就能掌握当今最有价值的Oracle12c的PL/SQL编程技术。本书的方法完全反映了作者在哥伦比亚大学给专业人员讲授PL/SQL的广受好评的经验。数据库开发的新手和DBA可以通过学习本书快速获得成效。有经验的PL/SQL程序员会发现本书是很好的Oracle12c的解决方案参考。
作者简介
作 者 简 介?About the AuthorBenjamin Rosenzweig是Misys财务软件公司的高级项目经理,他自2002年以来一直在那里工作。在此之前,他曾在Oracle公司定制开发部担任了三年以上的首席顾问。他所做的计算机工作包括在尼泊尔加德满都建立电子藏英词典,为高盛公司演示中心做支持,以及管理TIAA-CREF的交易系统。自1998年以来,Benjamin一直在纽约市哥伦比亚大学计算机技术与应用项目担任教师,在2002年,他被CTA项目的主席和董事授予“优秀教学奖”。他拥有里德学院的学士学位和哥伦比亚大学颁发的数据库开发和设计证书。他从前与Prentice Hall合著的书籍包括《Oracle Forms Developer:The Complete Video Course (2000)》和《Oracle Web Application Programming for PL/SQL Developers(2003)》。Elena Rakhimov拥有超过20年的数据库架构和开发经验,曾服务于各种企业和商业环境,从非营利组织到华尔街到她目前在知名软件公司领导数据库团队的职位。尽管Elena决定从事“实际操作”,但她在学术领域也很有建树,她在哥伦比亚大学受到高度评价的计算机技术与应用项目中执教关系数据库编程。她曾在哥伦比亚大学学习数据库分析和设计,并在阿塞拜疆的巴库国立大学学习应用数学。她目前居住在加拿大温哥华。
目录
目 录 Contents
译者序
前言
作者简介
致谢
第1章 PL/SQL概念 1
1.1 实验1:PL/SQL架构 1使用 8
1.2.2 初步掌握SQL * Plus的使用 10
1.2.3 执行PL/SQL脚本 11
1.3 实验3:PL/SQL基础知识 14
1.3.1 DBMS_OUTPUT.PUT_LINE语句 14
1.3.2 替代变量功能 17
1.4 总结 21
第2章 PL/SQL语言基础 22
2.1 实验:PL/SQL编程基础 22
2.1.1 PL/SQL语言组件 23
2.1.2 PL/SQL变量 23
2.1.3 PL/SQL保留字 26
2.1.4 PL/SQL中的标识符 26
2.1.5 挂靠的数据类型 27
2.1.6 声明和初始化变量
29
2.1.7 块作用域、嵌套块和标签
32
2.2 总结 34
第3章 在PL/SQL中的SQL 35
3.1 实验1:在PL/SQL中的DML
语句 35
3.1.1 使用SELECT INTO初始化 变量 36
3.1.2 使用变量初始化的SELECT INTO语法 37
3.1.3 在PL/SQL块中使用DML 38
3.1.4 在PL/SQL块中使用序列 39
3.2 实验2:在PL/SQL中的事务 控制 40
3.2.1 使用COMMIT、ROLLBACK和
SAVEPOINT 40
3.2.2 将DML和事务控制相结合 43
3.3 总结 45
第4章 条件控制:IF语句 46
4.1 实验1:IF语句 46
4.1.1 IF-THEN语句 47
4.1.2 IF-THEN-ELSE语句 48
4.2 实验2:ELSIF语句 50
4.3 实验3:嵌套的IF语句 54
4.4 总结 56
第5章 条件控制:CASE语句 57
5.1 实验1:CASE语句 57
5.1.1 CASE语句 57
5.1.2 搜索CASE语句 59
5.2 实验2:CASE表达式 64
5.3 实验3:NULLIF和COALESCE
函数 67
5.3.1 NULLIF函数 67
5.3.2 COALESCE函数 69
5.4 总结 71
第6章 迭代控制:第一部分 72
6.1 实验1:简单循环 72
6.1.1 EXIT语句 73
6.1.2 EXIT WHEN语句 76
6.2 实验2:WHILE循环 77
6.2.1 使用WHILE循环 77
6.2.2 提前终止WHILE循环 80
6.3 实验3:数字FOR循环 81
6.3.1 在循环中使用IN选项 82
6.3.2 在循环中使用REVERSE选项 84
6.3.3 提前终止数字FOR循环 84
6.4 总结 85
第7章 迭代控制:第二部分 86
7.1 实验1:CONTINUE语句 86
7.1.1 使用CONTINUE语句 86
7.1.2 CONTINUE WHEN语句 89
7.2 实验2:嵌套循环 92
7.2.1 使用嵌套循环 92
7.2.2 使用循环标签 93
7.3 总结 95
第8章 错误处理和内置异常 96
8.1 实验1:处理错误 96
8.2 实验2:内置异常 98
8.3 总结 103
第9章 异常 104
9.1 实验1:异常作用域 104
9.2 实验2:用户定义的异常 107
9.3 实验3:异常传播 111
9.4 总结 116
第10章 异常:高级概念 117
10.1 实验1:RAISE_APPLICATION
ERROR 117
10.2 实验2:EXCEPTION_INIT
编译指示 120
10.3 实验3:SQLCODE和
SQLERRM 122
10.4 总结 124
第11章 游标简介 125
11.1 实验1:游标类型 125
11.1.1 使用隐式游标
126
11.1.2 使用显式游标
127
11.2 实验2:游标循环 130
11.2.1 处理显式游标
130
11.2.2 使用用户定义的记录
133
11.2.3 使用游标属性
134
11.3 实验3:游标FOR循环 138
11.4 实验4:嵌套游标 139
11.5 总结 143
第12章 高级游标 144
12.1 实验1:参数化游标 144
12.2 实验2:复杂的嵌套游标 145
12.3 实验3:FOR UPDATE和WHERE CURRENT游标 147
12.3.1 FOR UPDATE游标 147
12.3.2 游标中的FOR UPDATE 触发器 151
13.1.1 数据库触发器
151
13.1.2 BEFORE触发器 154
13.1.3 AFTER触发器 159
13.1.4 自治事务 160
13.2 实验2:触发器类型 162
13.2.1 行触发器和语句触发器
162
13.2.2 INSTEAD OF触发器 163
13.3 总结 167
第14章 变异表和复合触发器 168
14.1 实验1:变异表 168
14.1.1 什么是变异表
168
14.1.2 解决变异表问题
170
14.2 实验2:复合触发器 172
14.2.1 什么是复合触发器
172
14.2.2 解决变异表问题的复合
触发器 174
14.3 总结 177
第15章 集合 178
15.1 实验1:PL/SQL表 178
15.1.1 关联数组 179
15.1.2 嵌套表 181
15.1.3 集合方法 184
15.2 实验2:变长数组 187
15.3 实验3:多级集合 190
15.4 总结 192
第16章 记录 193
16.1 实验1:记录类型 193
16.1.1 基于表和基于游标的记录
194
16.1.2 用户定义的记录
196
16.1.3 记录兼容性 197
16.2 实验2:嵌套记录 199
16.3 实验3:记录集合 202
16.4 总结 205
第17章 本地动态SQL 206
17.1 实验1:EXECUTE IMMEDIATE语句 206
17.1.1 使用EXECUTE IMMEDIATE
语句 207
17.1.2 如何避免使用EXECUTE
IMMEDIATE的常见ORA错误 209
17.2 实验2:OPEN-FOR、FETCH和
CLOSE语句 216
17.2.1 打开游标 216
17.2.2 从游标中读取
217
17.2.3 关闭游标 217
17.3 总结 223
第18章 批量SQL 224
18.1 实验1:FORALL语句 224
18.1.1 使用FORALL语句 225
18.1.2 SAVE EXCEPTIONS选项 228
18.1.3 INDICES OF选项 230
18.1.4 VALUES OF选项 230
18.2 实验2:BULK COLLECT子句 232
18.3 实验3:在SQL语句中绑定集合 239
18.3.1 将集合与EXECUTE IMMEDIATE语句绑定 240
18.3.2 将集合与OPEN-FOR、FETCH和CLOSE语句绑定
245
18.4 总结 248
第19章 过程 249
19.1 模块化代码的好处
249
19.1.1 块结构 250
19.1.2 匿名块 250
19.2 实验1:创建过程 250
19.2.1 实践创建过程的语法
251
19.2.2 查询数据字典来获取过程的
信息 252
19.3 实验2:传递的过程参数IN和
OUT 253
19.4 总结 255
第20章 函数 256
20.1 实验1:创建函数 256
20.1.1 创建存储函数
257
20.1.2 使用函数 259
20.2 实验2:在SQL语句中使用函数 260
20.2.1 在SQL语句中调用函数 261
20.2.2 编写复杂函数
261
20.3 实验3:在SQL中优化函数执行 262
20.3.1 使用WITH子句定义函数 262
20.3.2 使用UDF编译指示创建函数 263
20.4 总结 263
第21章 包 264
21.1 实验1:创建包 264
21.1.1 创建包规范 265
21.1.2 创建包体 267
21.1.3 调用已存储的包
269
21.1.4 创建私有对象
270
21.2 实验2:游标变量 274
21.3 实验3:扩展包 281
21.4 实验4:包的实例化和初始化 292
21.5 实验5:SERIALLY_REUSABLE包 294
21.6 总结 296
第22章 存储代码 297
22.1 实验:收集存储代码的相关信息
297
22.1.1 从数据字典获取存储代码的信息
297
22.1.2 重载模块 300
22.2 总结 305
第23章 Oracle对象类型 306
23.1 实验1:对象类型 306
23.1.1 创建对象类型
308
23.1.2 使用对象类型与集合
310
23.2 实验2:对象类型的方法 314
23.2.1 构造方法 314
23.2.2 成员方法 316
23.2.3 静态方法 317
23.2.4 比较对象 318
23.3 总结 322
第24章 Oracle提供的包 323
24.1 实验1:利用Oracle提供的包扩展功能 323
24.1.1 在PL/SQL中利用UTL_FILE访问文件 324
24.1.2 利用DBMS_JOB调度作业 327
24.1.3 利用DBMS_XPLAN生成解释计划 329
24.1.4 利用DBMS_SQL产生隐式语句结果 333
24.2 实验2:利用Oracle提供的包报告错误 334
24.2.1 利用DBMS_UTILITY包报告错误 334
24.2.2 利用UTL_CALL_STACK
猜您喜欢