内容简介
第0章 Oracle的安装及相关配置
0.1 Oracle的安装
0.2 Oracle 11g和Oracle 12c中的SQL*Plus
0.3 scott用户及其对象维护
0.4 本书中将用到的表
0.5 SQL(Structured Query Language)
0.6 本书所用的术语
0.7 Oracle 10g的SQL*Plus界面
0.8 使用iSQL*Plus
0.9 使用DOS窗口启动SQL*Plus
第1章 PL/SQL程序设计语言概述
1.1 PL/SQL语言的体系结构
1.2 模块化程序设计简介
1.3 PL/SQL语言的优势
1.4 PL/SQL程序块的结构
1.5 使用SQL*Plus创建匿名程序块的步骤
1.6 使用SQL*Plus创建、编辑和执行匿名块的实例
1.7 您应该掌握的内容
第2章 Oracle SQL Developer简介
2.1 安装SQL Developer和创建数据库连接
2.2 SQL Developer的菜单
2.3 导出表的设计信息和源程序代码
2.4 创建新对象和使用SQL工作表
2.5 导出SQL语句的执行计划
2.6 使用Oracle 11g和12c自带的Oracle SQL Developer
第3章 常用的SQL*Plus命令
3.1 DESC[RIBE]命令
3.2 SET LINE[SIZE]{80|n}命令
3.3 L命令和n text命令
3.4 “/”命令
3.5 n(设置当前行)命令和A[PPEND](附加)命令
3.6 DEL命令
3.7 C[HANGE]命令
3.8 生成脚本文件
3.9 编辑 脚本文件
3.10 直接运行脚本文件
3.11 SPOOL命令
3.12 将Oracle数据库的数据导出给其他系统
3.13 将数据导出操作自动化
3.14 商业智能软件读取Oracle数据的简单方法
3.15 利用AUTOTRACE追踪SQL语句
3.16 获取SQL*Plus的帮助信息
3.17 您应该掌握的内容
第4章 PL/SQL变量的声明与使用
4.1 PL/SQL变量的使用
4.2 PL/SQL变量的声明和初始化
4.3 字符串分隔符的说明与使用
4.4 变量的数据类型
4.5 %TYPE属性
4.6 布尔变量的声明与使用
4.7 替代变量与绑定变量
4.8 LOB类型的变量
4.9 声明PL/SQL变量指南
4.10 您应该掌握的内容
第5章 编写PL/SQL语言的可执行语句
5.1 PL/SQL语言中的词法单元
5.2 标识符和定界符
5.3 文字的使用和应用实例
5.4 为程序代码加注释
5.5 SQL函数在PL/SQL中的应用
5.6 Oracle 11g和12c的PL/SQL对序列操作的改进
5.7 数据类型的转换
5.8 PL/SQL中的运算符
5.9 程序块的嵌套和变量的作用域
5.10 变量的作用域和可见性的进一步探讨
5.11 程序设计的指导原则
5.12 您应该掌握的内容
第6章 PL/SQL与Oracle服务器之间的交互
6.1 PL/SQL中的SQL语句及使用SELECT语句提取数据
6.2 在PL/SQL中使用SELECT语句提取数据的实例
6.3 利用分组函数从表中提取数据
6.4 PL/SQL变量与列同名的问题及命名惯例
6.5 数据库中数据维护概述和准备工作
6.6 插入数据、修改数据和删除数据
6.7 MERGE语句
6.8 合并数据库中的数据行
6.9 您应该掌握的内容
第7章 分支(条件)语句
7.1 PL/SQL中的布尔条件
7.2 IF语句以及简单IF语句的实例
7.3 IF-THEN-ELSE和IF-THEN-ELSIF语句的执行流程
7.4 IF-THEN-ELSE语句的实例
7.5 IF-THEN-ELSIF语句的实例
7.6 CASE表达式
7.7 CASE语句
7.8 GOTO语句
7.9 您应该掌握的内容
第8章 PL/SQL语言的循环语句
8.1 重复控制——循环语句及基本循环语句的语法
8.2 基本循环语句的实例
8.3 WHILE循环
8.4 FOR循环
8.5 反向FOR循环及使用循环的指导原则
8.6 循环的嵌套和标号
8.7 Oracle 11g和Oracle 12c引入的CONTTNUE语句
8.8 您应该掌握的内容
第9章 PL/SQL中常用的组合数据类型
9.1 组合数据类型概述
9.2 PL/SQL记录类型数据以及创建它的语法
9.3 PL/SQL语言中的%ROWTYPE属性
9.4 使用%ROWTYPE属性声明记录
9.5 利用%ROWTYPE属性插入和修改记录
9.6 INDEX BY表或PL/SQL表
9.7 INDEX BY表的应用实例
9.8 INDEX BY表的方法及使用实例
9.9 INDEX BY记录表
9.10 您应该掌握的内容
第10章 SQL游标(cursor)
10.1 SQL隐式cursor的属性及其应用实例
10.2 显式cursor概述
10.3 控制显式cursor
10.4 声明(显式)cursor
10.5 打开(显式)cursor及从中提取数据
10.6 关闭显式cursor及使用它的属性
10.7 利用循环及属性控制cursor的实例
10.8 cursor与记录
10.9 您应该掌握的内容
第11章 显式cursor的高级功能
11.1 cursor的FOR循环
11.2 在cursor的FOR循环中使用子查询
11.3 在cursor定义中使用子查询
11.4 带参数的cursor
11.5 FOR UPDATE子句
11.6 WHERE CURRENT OF子句
11.7 您应该掌握的内容
第12章 PL/SQL程序中的异常处理
12.1 异常处理概述
12.2 PL/SQL中的异常处理
12.3 如何捕获异常
12.4 如何捕获预定义的Oracle服务器错误
12.5 如何捕获非预定义的Oracle服务器错误
12.6 捕获异常的两个函数
12.7 捕获用户定义的异常
12.8 在程序块中异常的捕获与传播
12.9 RAISE_APPLICATION_ERROR过程
12.10 您应该掌握的内容
第13章 过程的创建、维护和删除
13.1 模块化与分层的子程序设计
13.2 PL/SQL的子程序
13.3 过程的定义及创建
13.4 创建过程的语法
13.5 过程的参数模式(方式)
13.6 使用IN参数模式的实例
13.7 使用OUT参数模式的实例
13.8 使用IN OUT参数模式的实例
13.9 传递实参的表示法
13.10 在PL/SQL程序中调用一个过程
13.11 在SQL Developer中调用过程
13.12 在过程中声明和调用另一个过程
13.13 在过程中处理异常
13.14 在过程中没有处理异常
13.15 过程的发现与删除
13.16 您应该掌握的内容
第14章 函数的创建、维护和删除
14.1 函数的概述以及创建函数的语法
14.2 使用SQL*Plus或SQL Developer创建函数
14.3 创建和调用存储函数的实例
14.4 在SQL Developer中开发、调试和调用函数
14.5 在SQL表达式中使用用户定义的函数
14.6 从SQL表达式中调用函数的限制
14.7 从SQL中用名字表示法或混合表示法调用函数
14.8 函数的发现与删除以及函数与过程的比较
14.9 您应该掌握的内容
第15章 PL/SQL软件包
15.1 PL/SQL软件包概述
15.2 PL/SQL软件包的组件及可见性
15.3 PL/SQL软件包的开发方法
15.4 创建PL/SQL软件包的说明
15.5 创建PL/SQL软件包体
15.6 创建和使用无体的PL/SQL软件包
15.7 软件包的发现与删除
15.8 在SQL Developer中开发和编译软件包说明
15.9 在SQL Developer中开发和编译软件包体
15.10 在SQL Developer中运行软件包
15.11 您应该掌握的内容
第16章 PL/SQL软件包的高级特性和功能
16.1 在PL/SQL中子程序的重载
16.2 创建带有重载过程的软件包的实例
16.3 STANDARD软件包与子程序重载
16.4 前向引用(Forward References)所造成的问题
16.5 前向声明(Forward Declarations)
16.6 软件包的初始化
16.7 在SQL中使用软件包中的函数
16.8 软件包中变量的持续状态
16.9 软件包变量持续状态的实例
16.10 软件包中cursor的持续状态
16.11 在软件包中使用PL/SQL记录表(记录数组)
16.12 您应该掌握的内容
第17章 数据库触发器
17.1 触发器概述
17.2 触发器的应用范围、设计原则以及分类
17.3 DML触发器的创建
17.4 触发器触发的顺序
17.5 创建和测试语句触发器的实例
17.6 带有条件谓词的语句触发器的实例
17.7 创建和测试DML行触发器
17.8 在行触发器中使用OLD和NEW限定符
17.9 在行触发器中使用OLD和NEW限定符的实例
17.10 利用WHEN子句有条件触发行触发器
17.11 触发器执行模型概要及实现完整性约束的准备
17.12 利用触发器来实现完整性约束
17.13 INSTEAD OF触发器及实例的准备工作
17.14 创建INSTEAD OF触发器的实例
17.15 INSTEAD OF触发器的测试实例
17.16 触发器的管理与维护及与过程的比较
17.17 触发器的管理与维护的实例
17.18 您应该掌握的内容
第18章 批量绑定及高级触发器特性
18.1 批量绑定概述及批量绑定的语法
18.2 批量绑定FORALL的实例
18.3 cursor属性%BULK_ROWCOUNT的应用
18.4 在查询语句中使用BULK COLLECT INTO子句
18.5 在FETCH语句中使用BULK COLLECT INTO子句
18.6 带有RETURNING和BULK COLLECT INTO关键字的FORALL语句
18.7 利用Index数组进行批量绑定
18.8 利用RETURNING子句将DML语句的结果直接装入变量
18.9 变异表及在变异表上触发器的限制
18.10 复合触发器(compound trigger)概述
18.11 利用复合触发器解决变异表的错误
18.12 创建基于DDL语句或基于系统事件的触发器
18.13 用户登录和退出触发器的创建和测试
18.14 触发器中的CALL语句
18.15 数据库事件触发器的优点以及设计、管理和维护触发器要注意的事项
18.16 您应该掌握的内容
第19章 PL/SQL程序代码设计上的考虑、Oracle自带软件包及数据库优化简介
19.1 常量和异常的标准化概述
19.2 标准化异常和标准化异常处理
19.3 标准化常量
19.4 本地子程序的应用
19.5 程序的定义者权限与调用者权限
19.6 自治事物
19.7 使用自治事物的实例
19.8 Oracle提供(自带)的软件包简介
19.9 计算机内外存以及系统优化简介
19.10 将程序常驻内存
19.11 将数据缓存在内存中
19.12 将数据常驻内存
19.13 将查询的结果缓存在内存
19.14 跨会话的PL/SQL函数结果缓存
19.15 您应该掌握的内容
第20章 导出程序的源代码以及源代码加密
20.1 以命令行方式获取数据库系统的设计
20.2 导出存储程序的接口参数
20.3 导出存储程序的源代码
20.4 导出触发器的类型、触发事件、描述及源代码
20.5 PL/SQL源代码加密及动态加密
20.6 使用CREATE_WRAPPED过程加密PL/SQL源代码
20.7 使用CREATE_WRAPPED过程加密较长的代码
20.8 PL/SQL封装实用程序简介
20.9 PL/SQL封装实用程序应用实例
20.10 加密的原则及DBMS_DDL与Wrap的比较
20.11 您应该掌握的内容
结束语
参考文献