标题：Oracle PL/SQL宝典
基本信息
作者：秦婧  《Oracle PL/SQL宝典》封面ISBN号：9787121142109
出版日期：2011-08
字数：736千字 
页码：460
开本：16 
出版社：电子工业出版社
内容简介
本书讲解在Oracle 11g中使用PL/SQL语言的方法，每章都突出了PL/SQL语言的使用技巧，每个关键技术都给出了示例，每个实例都在真实的环境中演练。本书从认识PL/SQL语言起步，到使用PL/SQL语言编程，再到最后掌握优化PL/SQL语言，全面展示了PL/SQL语言的使用。本书附带1张DVD光盘，内容为作者为本书录制的全程多媒体语音教学视频及教学PPT。
本书共有17章，涵盖的主要内容有：走进Oracle、认识PL/SQL、数据表的基本操作、表中数据的基本操作、数据的基本查询、查询中函数的使用、数据表的高级查询、索引及视图的使用、数据类型、流程控制、游标、存储过程和函数、触发器、异常处理、事务和锁、安全管理、PL/SQL语句优化、ASP NET+Oracle项目开发和Java+Oracle项目开发等内容。
适合读者
本书内容丰富，实用性强，示例通俗易懂，适合各个层次想要学习PL/SQL开发技术的人员阅读，尤其适合想要快速掌握PL/SQL语言的学习者或者是在开发中遇到问题要查找资料的开发人员。
图书目录
第1部分  PL/SQL简介1
第1章  走进Oracle2
1.1  数据库系统与数据模型2
1.1.1  基本术语2
1.1.2  数据库技术的发展3
1.1.3  数据模型5
1.2  数据库系统的体系结构6
1.2.1  数据库系统的三级模式6
1.2.2  数据库管理系统7
1.2.3  数据库系统的工作流程8
1.3  关系数据库的简单介绍9
1.3.1  关系数据库的基本特性10
1.3.2  关系数据库的设计规范10
1.4  认识Oracle 11g11
1.4.1  什么是Oracle 11g11
1.4.2  Oracle的发展历程12
1.4.3  Oracle 11g的新特性12
1.5  小结13
第2章  认识PL/SQL14
2.1  SQL语言概述14
2.1.1  SQL语言的发展14
2.1.2  SQL语言的功能15
2.1.3  SQL语言的执行方式15
2.1.4  SQL语句结构16
2.1.5  SQL环境17
2.1.6  SQL DBMS的客户/服务器模型19
2.2  什么是PL/SQL19
2.2.1  认识PL/SQL20
2.2.2  PL/SQL结构21
2.2.3  PL/SQL的主要组成部分24
2.2.4  PL/SQL基本规范25
2.3  PL/SQL在SQL*Plus中的使用26
2.3.1  启动SQL*Plus26
2.3.2  SQL*Plus追加文本命令28
2.3.3  SQL*Plus增加文本命令29
2.3.4  SQL*Plus替换文本命令29
2.4  PL/SQL在PL/SQL Developer中的使用43
2.4.1  安装PL/SQL Developer43
2.4.2  PL/SQL Developer的布局44
2.5  小结46
第2部分  PL/SQL基础47
第3章  数据表的基本操作48
3.1  创建表48
3.1.1  创建表的语法48
3.1.2  常用的数据类型49
3.1.3  创建表实例50
3.2  约束52
3.2.1  约束的类型52
3.2.2  创建一个带检查约束的表53
3.2.3  创建一个带非空约束的表54
3.2.4  创建一个带唯一约束的表55
3.2.5  创建一个带外键约束的表56
3.2.6  创建一个含多个约束的表58
3.3  修改表59
3.3.1  修改表的结构59
3.3.2  给表添加约束61
3.3.3  删除表中的约束62
3.4  删除表63
3.5  重命名表64
3.6  使用企业管理器操作表64
3.6.1  启用企业管理器64
3.6.2  使用企业管理器创建表65
3.6.3  使用企业管理器修改表67
3.6.4  使用企业管理器删除表70
3.7  小结71
第4章  表中数据的基本操作72
4.1  查询数据表72
4.1.1  查询表中的数据72
4.1.2  使用PL/SQL Developer工具查询表中的数据73
4.2  添加数据74
4.2.1  添加操作的基本语法74
4.2.2  直接向表中添加数据75
4.2.3  数据中NULL值的处理77
4.2.4  插入值是默认值的处理79
4.2.5  插入值是唯一值的处理80
4.2.6  使用INSERT...SELECT插入数据81
4.2.7  使用PL/SQL Developer工具添加数据82
4.3  修改数据83
4.3.1  修改操作的基本语法83
4.3.2  使用UPDATE语句更新数据行84
4.3.3  根据条件修改表中的数据85
4.3.4  使用PL/SQL Developer工具修改数据85
4.4  删除数据86
4.4.1  删除操作的基本语法86
4.4.2  删除表中的数据86
4.4.3  有关TRUNCATE的使用87
4.4.4  使用PL/SQL Developer工具删除数据88
4.5  小结88
第5章  数据的基本查询89
5.1  查询语句的基础89
5.1.1  查询语句语法89
5.1.2  查询各关键词的顺序及功能90
5.1.3  查询语句执行顺序90
5.2  最容易理解的查询91
5.2.1  增加实验数据91
5.2.2  查询表中列的数据93
5.2.3  查询所有列95
5.2.4  去除查询结果中的重复记录96
5.2.5  返回查询的部分数据97
5.3  带条件的查询98
5.3.1  单一的条件查询98
5.3.2  查询中使用比较表达式99
5.3.3  使用简单逻辑表达式102
5.3.4  有关NULL值的判断107
5.3.5  有关模糊查询108
5.3.6  指定数据范围113
5.3.7  如何限制检索数据范围115
5.3.8  定义转义符116
5.4  排序查询结果117
5.4.1  基本排序117
5.4.2  多列排序121
5.5  PL/SQL中的运算符123
5.5.1  算术运算符124
5.5.2  比较运算符124
5.5.3  逻辑运算符124
5.5.4  字符串连接符125
5.5.5  赋值运算符125
5.5.6  运算符的优先级125
5.6  查询中表达式的使用126
5.6.1  使用连接符连接列126
5.6.2  算术表达式的使用127
5.7  小结128
第6章  查询中函数的使用129
6.1  常用的单行函数129
6.1.1  字符处理函数129
6.1.2  数值处理函数134
6.1.3  日期处理函数137
6.1.4  转换函数139
6.1.5  替换NULL值函数141
6.1.6  排除指定条件函数142
6.2  聚合函数142
6.2.1  聚合函数的种类143
6.2.2  计数函数143
6.2.3  求和函数145
6.2.4  均值函数146
6.2.5  最大值/最小值函数148
6.2.6  统计函数149
6.2.7  聚合函数的重值处理150
6.3  分组查询151
6.3.1  简单分组151
6.3.2  多列分组152
6.3.3  分组查询中NULL值的处理154
6.3.4  汇总数据运算符155
6.3.5  筛选分组结果157
6.4  其他函数159
6.4.1  返回登录名函数159
6.4.2  返回SESSIONID和LANGUAGE函数159
6.4.3  数据匹配函数160
6.5  小结161
第7章  数据表的高级查询162
7.1  理解什么是多表连接162
7.1.1  什么是连接162
7.1.2  连接的类型与实现163
7.2  简单的多表查询163
7.2.1  创建实例表164
7.2.2  如何实现多表查询165
7.2.3  指定连接条件166
7.2.4  使用别名作为表名的简写167
7.2.5  自连接表进行查询168
7.3  表的连接查询171
7.3.1  基本连接语法171
7.3.2  内部连接172
7.3.3  自然连接175
7.3.4  外部连接176
7.3.5  交叉连接181
7.3.6  连接中空值问题183
7.3.7  表的连接与聚合分析185
7.4  集合运算186
7.4.1  集合运算的种类187
7.4.2  UNION的使用187
7.4.3  有关多表的UNION操作189
7.4.4  UNION与JOIN的区别190
7.4.5  MINUS与INTERSECT的使用191
7.5  子查询的使用195
7.5.1  认识子查询195
7.5.2  非相关子查询与相关子查询195
7.5.3  子查询的组成197
7.5.4  子查询的使用方式及限制198
7.6  在子查询中使用各种限制条件199
7.6.1  比较运算符引入子查询199
7.6.2  子查询中的聚合函数201
7.6.3  在子查询中使用IN203
7.7  在子查询中使用EXISTS206
7.7.1  使用EXISTS的子查询206
7.7.2  EXISTS子查询的使用207
7.7.3  使用EXISTS子查询检查表中的重复行209
7.8  子查询的其他应用210
7.8.1  在子查询中使用ROWNUM关键词210
7.8.2  在SELECT子句中使用子查询212
7.8.3  在HAVING子句中使用子查询213
7.8.4  在数据操纵语言（DML）中使用子查询214
7.9  小结216
第3部分  PL/SQL 高级技术217
第8章  索引和视图的使用218
8.1  索引及其操作218
8.1.1  什么是索引218
8.1.2  索引的种类及语法218
8.1.3  索引的创建219
8.1.4  创建索引的注意事项224
8.1.5  索引的管理224
8.2  视图及其应用227
8.2.1  什么是视图227
8.2.2  视图的作用228
8.3  创建视图229
8.3.1  视图的语法229
8.3.2  创建单表视图229
8.3.3  创建多表视图230
8.3.4  视图的视图231
8.3.5  无源表视图232
8.3.6  设置视图只读233
8.3.7  设置视图的检查约束235
8.3.8  内嵌视图的使用236
8.3.9  查询视图的定义和相关信息237
8.4  修改、删除视图238
8.4.1  修改视图内容238
8.4.2  删除视图239
8.5  小结240
第9章  数据类型、流程控制和游标241
9.1  PL/SQL数据类型241
9.1.1  标量类型241
9.1.2  复合类型242
9.2  变量和常量250
9.2.1  变量的声明语法250
9.2.2  常量的声明语法251
9.3  程序流控制语句251
9.3.1  IF...ELSE条件选择结构252
9.3.2  CASE条件控制语句257
9.3.3  LOOP循环控制语句260
9.4  游标266
9.4.1  游标的概念266
9.4.2  显式游标的定义和操作267
9.4.3  显式游标的属性271
9.4.4  隐式游标274
9.5  小结276
第10章  存储过程、函数277
10.1  理解存储过程277
10.1.1  认识存储过程277
10.1.2  存储过程的优点277
10.1.3  存储过程的语法278
10.2  存储过程的创建和执行278
10.2.1  存储过程的执行278
10.2.2  创建无参数的存储过程279
10.2.3  带有输入参数的存储过程283
10.2.4  带有输出参数的存储过程285
10.3  存储过程的管理287
10.3.1  查看存储过程288
10.3.2  查看存储过程的错误289
10.3.3  修改存储过程290
10.3.4  存储过程的重新编译291
10.3.5  删除存储过程291
10.4  函数292
10.4.1  函数的组成和语法292
10.4.2  创建无参数函数293
10.4.3  创建有参数函数294
10.4.4  查看函数299
10.4.5  修改函数300
10.4.6  重新编译函数302
10.4.7  删除函数302
10.5  小结302
第11章  触发器303
11.1  触发器的基本概念303
11.1.1  触发器简介303
11.1.2  触发器的类型303
11.1.3  触发器的作用及使用304
11.1.4  触发器的执行环境304
11.2  触发器的创建和使用305
11.2.1  触发器的语法和组成305
11.2.2  创建DML触发器307
11.2.3  替代类型触发器317
11.2.4  复合类型触发器319
11.2.5  DDL类型触发器321
11.3  触发器管理323
11.3.1  查看触发器323
11.3.2  修改触发器324
11.3.3  删除触发器326
11.4  小结326
第12章  异常处理327
12.1  理解异常327
12.1.1  异常的分类327
12.1.2  异常的结构328
12.2  异常的应用328
12.2.1  预定义异常329
12.2.2  非预定义异常333
12.2.3  自定义异常334
12.3  小结336
第13章  事务和锁337
13.1  事务控制的基本概念337
13.1.1  事务控制的必要性337
13.1.2  事务的ACID特性及实现338
13.1.3  事务的状态338
13.1.4  PL/SQL中事务的执行339
13.2  PL/SQL中事务的实现340
13.2.1  事务的类型340
13.2.2  提交事务341
13.2.3  设置事务的保存点343
13.3  并发控制及其实现344
13.3.1  并发访问的常见问题344
13.3.2  什么是锁346
13.3.3  锁的分类346
13.3.4  事务隔离级别348
13.3.5  事务阻塞及其解决方法349
13.3.6  死锁351
13.4  小结353
第14章  安全管理354
14.1  用户管理354
14.1.1  什么是用户354
14.1.2  创建用户354
14.1.3  修改用户360
14.1.4  删除用户362
14.2  权限管理363
14.2.1  授予权限363
14.2.2  权限回收367
14.2.3  查看权限369
14.3  角色管理370
14.3.1  理解角色370
14.3.2  创建角色370
14.3.3  角色的管理设置373
14.3.4  修改、删除角色374
14.4  概要文件（PROFILE）375
14.4.1  理解概要文件375
14.4.2  创建概要文件375
14.4.3  修改、删除概要文件378
14.4.4  查询概要文件379
14.5  小结379
第15章  PL/SQL语句优化380
15.1  一般的SQL技巧380
15.1.1  在查询中尽量不使用“*”380
15.1.2  多表查询时多使用别名380
15.1.3  条件查询多使用WHERE381
15.1.4  计算时不用索引列381
15.1.5  指定查询范围时多使用IN382
15.1.6  使用TRUNCATE清空表中记录383
15.1.7  及时提交事务383
15.1.8  DECODE函数的使用384
15.1.9  多使用EXISTS语句判断条件385
15.1.10  其他技巧385
15.2  Oracle优化器386
15.2.1  Oracle优化器的分类386
15.2.2  Oracle优化器的模式387
15.2.3  查看Oracle执行计划387
15.3  SQL性能指导388
15.3.1  ADDM388
15.3.2  SQL访问指导388
15.3.3  SQL优化指导391
15.4  小结392
第4部分  Oracle项目应用393
第16章  利用ASP NET实现网上记账系统394
16.1  系统简介394
16.1.1  系统概览394
16.1.2  开发工具介绍395
16.2  系统设计396
16.2.1  系统模块的划分397
16.2.2  系统架构图397
16.2.3  系统的数据库设计398
16.3  编写公共模块399
16.3.1  设置数据库连接串399
16.3.2  编写数据库连接类399
16.3.3  设计公共控件401
16.4  实现用户管理功能403
16.4.1  用户登录403
16.4.2  用户注册405
16.4.3  修改密码407
16.4.4  找回密码408
16.5  实现记账功能410
16.5.1  记账功能410
16.5.2  查询记账情况412
16.6  小结414
第17章  利用Java实现订票券系统415
17.1  系统结构415
17.1.1  理解B/S结构415
17.1.2  理解B/S结构的服务器416
17.2  系统整体设计417
17.2.1  系统的整体流程417
17.2.2  模块划分418
17.2.3  数据库设计419
17.3  JSP和Servlet的使用422
17.3.1  认识JSP和Servlet423
17.3.2  JSP和Servlet文件的创建427
17.4  系统部分功能实现430
17.4.1  连接数据库430
17.4.2  用户管理模块433
17.4.3  购物车439
17.5  小结442