第1章 PL/SQL简介
1.1 理解PL/SQL
1.2 PL/SQL体系结构
1.3 理解PL/SQL引擎
1.3.1 客户端PL/SQL含义
1.3.2 服务器端PL/SQL
1.3.3 适合客户/服务器环境
1.3.4 适合客户环境
1.3.5 对比服务器端与客户端开发
1.4 在工具箱里添加PL/SQL
1.4.1 加强SQL脚本
1.4.2 简化数据库管理
1.4.3 以较少的争论得到较好的信息
1.4.4 设计更好的数据库应用
1.5 学习PL/SQL前的准备
1.5.1 理解事情的模式
1.5.2 基本PL/SQL开发环境
1.5.3 存取数据字典
1.6 Oracle 8i专有的功能
1.6.1 本地动态SQL
1.6.2 成批捆绑
1.7 本章小结
第2章 PL/SQL基础
2.1 编码规定
2.2 词法单位
2.2.1 标识符
2.2.2 文字
2.2.3 注释
2.2.4 特殊字符
2.3 命名习惯和标识符的作用域
2.3.1 命名习惯
2.3.2标识符的作用域
2.4 表达式
2.5 数据类型
2.6 数据类型转换
2.6.1 显式转换
2.6.2 隐式转换
2.7 声明变量
2.7.1 常量和变量
2.7.2 声明语法
2.7.3 变量初始化
2.8 用户定义记录
2.8.1 说明记录
2.8.2 引用记录
2.8.3 嵌套的记录
2.8.4 记录赋值
2.8.5 使用%ROWTYPE
2.9 PL/SQL表
2.9.1 PL/SQL表的说明
2.9.2 PL/SQL表的引用
2.9.3 表属性
2.9.4 使用PL/SQL表的指南
2.10 PL/SQL的风格指南
2.10.1 注释风格
2.10.2 变量名风格
2.10.3 大写风格
2.10.4 缩进风格
2.10.5 常见风格
2.11 程序实例
2.12 本章小结
第3章 控制结构
3.1 程序控制
3.2 if逻辑结构
3.2.1 IF-THEN
3.2.2 IF-THEN-ELSE
3.2.3 IF-THEN-ELSIF
3.3 循环
3.3.1 基本循环
3.3.2 LOOP-EXIT WHEN-END循环
3.3.3 WHILE-LOOP-END循环
3.3.4 数值FOR_LOOP循环
3.3.5 LOOP lables
3.4 本章小结
第4章 在PL/SQL中使用SQL
4.1 SQL语句简介
4.2 对表的操作
4.2.1 表的创建
4.2.2 对表插入数据
4.2.3 修改表中的数据
4.2.4 删除表中的数据
4.2.5 作业的提交
4.3 基本查询(Basic Query)
4.3.1 查询语句
4.3.2 组函数的使用
4.3.3 BETWEEN,IN,LIKE的使用
4.3.4 排序显示
4.3.5 分组查询
4.3.6 查询的并、交、差操作
4.4 连接查询
4.4.1 连接的基本方法
4.4.2 二元连接查询
4.4.3 多元连接查询
4.4.4 自身连接查询
4.4.5 外部连接查询
4.5 嵌套与树结构查询
4.5.1 单层嵌套查询
4.5.2 多层嵌套查询
4.5.3 ANY、ALL、EXISTS的使用
4.5.4 相关嵌套查询
4.5.5 树结构查询
4.6 数据显示
4.6.1 数值显示
4.6.2 字符值显示
4.6.3 日期显示
4.6.4 空值显示
4.7 视图的建立及使用
4.7.1 视图的概念
4.7.2 视图的基本操作
4.7.3 多表视图
4.8 数据定义和授权
4.8.1 别名与重命名
4.8.2 表结构的修改
4.8.3 表与视图的复制和删除
4.8.4 索引
4.8.5 使用权的授予及收回
4.9 在PL/SQL中使用SQL
4.9.1 使用DDL
4.9.2 在PL/SQL中使用DML
4.10 本章小结
第5章 游标
5.1 显式游标
5.1.1 游标说明
5.1.2 游标属性
5.1.3 打开游标
5.1.4 取活动集的行
5.1.5 关闭游标
5.2 隐式游标
5.2.1 包内的游标
5.2.2 游标FOR循环
5.3 用何种游标
5.4 本章小结
第6章 子程序(过程和函数)
6.1 什么是子程序
6.2 过程
6.2.1 创建过程
6.2.2 参数和模式
6.2.3 过程主体
6.2.4 对形式参数的约束
6.2.5 位置标识法和带名标识法
6.2.6 参数缺省值
6.3 函数
6.3.1 创建函数
6.3.2 RETURN语句
6.3.3 函数样式
6.4 重载
6.5 递归
6.6 子程序中的异常处理
6.7 子程序位置
6.7.1 内置于程序
6.7.2 本地子程序
6.7.3 前向声明
6.8 存储子程序
6.8.1 创建存储子程序
6.8.2 从SQL调用存储子过程
6.8.3 从PL/SQL调用存储子过程
6.9 本章小结
第7章 包
7.1 包
7.1.1 包的组成
7.1.2 包的优点
7.1.3 包规范和包体
7.1.4 重载
7.1.5 包初始化
7.1.6 包的状态和相依性
7.1.7 STANDARD包和产品特有的包
7.2 在SQL语句中使用内置函数
7.2.1 纯度级别
7.2.2 RESTRICT_REFERENCES
7.2.3 缺省参数
7.3 使用PL/SQL数据模式输出程序
7.4 对包装子程序的调用
7.5 Oracle 8i数据库提供的包
7.5.1 在服务器内交互
7.5.2 在服务器以外交互
7.5.3 从服务器获取更多的信息
7.5.4 描述提供的包
7.6 使用Oracle 8i提供的包
7.6.1 使用DBMS_APPLICATION_INFO监控
7.6.2 使用DBMS_DDL重新编译包
7.6.3 使用DBMS_OUTPUT格式化输出
7.7 本章小结
第8章 错误处理
8.1 概述
8.1.1 用户定义的异常
8.1.2 预定义的异常
8.1.3 EXCEPTION_INIT Pragma
8.1.4 使用RAISE_APPLICATION_ERROR
8.2 异常的传播
8.2.1 在执行部分引发的异常情态
8.2.2 在声明部分引发的异常情态
8.2.3 在异常处理部分引发的异常情态
8.3 重新引发异常
8.4 异常处理
8.5 使用PL/SOL(常用错误处理模块)
8.6 本章小结
第9章 在Oracle中使用对象编程
9.1 面向对象的基础知识
9.2 在Oracle 8i中使用对象
9.2.1 定义一个对象类型
9.2.2 实例化使用对象
9.2.3 存储和检索对象
9.3 使用对象表
9.3.1 将对象存储在对象表中
9.3.2 检索和更新对象表中的对象
9.3.3 使用VALUE操作符检索对象表
9.3.4 更新对象表
9.3.5 删除对象表中的对象
9.4 对象引用
9.4.1 REF和DEREF操作符
9.4.2 讨论SELF参数
9.5 比较对象
9.6 本章小结
第10章 调试代码并防止错误
10.1 定位并消除语法错误
10.1.1 识别语法错误
10.1.2 一个识别语法错误的范例
10.1.3 防止语法错误
10.2 处理逻辑错
10.2.1 操作次序
10.2.2 逻辑错误的排除方法
10.3 使用工具帮助调试程序
10.3.1 将DBMS_OUTPUT用作调试工具
10.3.2 编写DEBUG包
10.4 防止错误并规划以后的调试
10.4.1 定义需求和规划项目
10.4.2 使用模块化方法编码
10.4.3 注释代码
10.4.4 在代码中编写错误处理响应
10.4.5 格式化代码
10.5 本章小结
第11章 使用大型对象类型
11.1 什么是LOB
11.1.1 LOB的局限性
11.1.2 LOB和LONG数据类型的比较
11.1.3 将LONG转换为LOB
11.1.4 使用LOB创建表
11.1.5 LOB存储管理
11.2 BFILE
11.3 使用LOB和BFILE的例子
11.4 DBMS_LOB包
11.5 更多的一些例子
11.6 临时LOB
11.6.1 管理临时LOB
11.6.2 创建临时LOB
11.7 最后的一些问题
11.8 本章小结
第12章 管理事物和锁定
12.1 事务类型
12.2 开始事务
12.3 结束事务
12.4 撤销事务
12.5 两步提交
12.6 使用保存点创建书签
12.7 使用RELEASE选项
12.8 使用镇定
12.8.1 锁定表
12.8.2 锁定记录
12.8.3 显式锁定
12.8.4 DBMS_LOCK包
12.9 本章小结
第13章 高级队列
13.1 什么是AQ
13.2 高级队列管理
13.2.1 配置服务器
13.2.2 谈谈方案
13.2.3 创建一个队列表
13.2.4 创建队列
13.2.5 启动和关闭队列
13.2.6 删除队列
13.2.7 修改队列
13.3 队列操作
13.3.1 将消息放入队列
13.3.2 将消息放入列表
13.3.3 从队列中检索消息
13.3.4 把消息从队列中取出
13.3.5 实例
13.4 队列权限
13.4.1 AQ_ADMINSTRATOR_ROLE
13.4.2 AQ_USER_ROLE
13.4.3 访问AQ对象类型
13.5 本章小结
第14章 数据库作业和文件I/O
14.1 数据库作业
14.1.1 后台进程
14.1.2 运行作业
14.1.3 失效作业(Broken Jobs)
14.1.4 删除作业
14.1.5 修改作业
14.1.6 查看数据字典中的作业
14.1.7 作业执行环境
14.2 文件I/O
14.2.1 安全性
14.2.2 由UTL_FILE所引发的异常情态
14.2.3 打开和关闭文件
14.2.4 文件输出
14.2.5 文件输入
14.2.6 实例
14.3 本章小结
附录 内置SQL函数
F.1 字符函数——返回字符值
F.2 字符函数——返回数字
F.3 数字函数
F.4 日期函数
F.5 转换函数
F.6 分组函数
F.7 其他函数