主页 详情

《21天学通PL/SQL》_(美)Jonathan Gennick,(美)Tom Luers著;袁国忠,陈文飞译_10460822_7115086885

【书名】:《21天学通PL/SQL》
【作者】:(美)Jonathan Gennick,(美)Tom Luers著;袁国忠,陈文飞译
【出版社】:北京:人民邮电出版社
【时间】:2000
【页数】:570
【ISBN】:7115086885
【SS码】:10460822

最新查询

内容简介

第1部分 第1周课程

第1章 第1天课程:学习PL/SQL基础知识

1.1 PL/SQL是什么

1.2 为什么要学习PL/SQL

1.3 SQL、SQL*Plus、PL/SQL之间的差别

1.3.1 SQL

1.3.2 PL/SQL

1.3.3 SQL*Plus

1.3.4 阅读本书需要的资源

1.4 开始使用PL/SQL

1.4.1 PL/SQL是块结构化的

1.4.2 编译和执行简单的块

1.4.3 生成输出结果

1.4.4 避免重新输入

1.4.5 编写第一个函数

1.4.6 查找编译错误

1.4.7 显示函数的返回值

1.5.1 启动过程生成器

1.4.8 这个简单的函数有用吗

1.5 使用Developer/2000中的过程生成器执行PL/SQL

1.5.2 使用交互式PL/SQL

1.5.3 创建SS_THRESH函数

1.5.4 与数据库相连

1.6 使用SQLPlus Wroksheet

1.6.1 使用SQLPlus Wroksheet执行PL/SQL块

1.7 总结

1.8 问与答

1.9 测验和练习

1.9.1 测验

1.9.2 练习

第2章 第2天课程:编写声明和块

2.1 探讨数据类型

2.1.1 VARCHAR2

2.1.2 VARCHAR2的子类型

2.1.3 CHAR

2.1.5 NUMBER

2.1.4 CHAR子类型

2.1.6 BINARY_INTEGER

2.1.7 PLS_INTEGER

2.1.8 DATE

2.1.9 BOOLEN

2.1.10 LONG

2.1.11 RAW

2.1.12 LONG RAW

2.1.15 MSLABEL

2.2 使用块结构

2.1.13 ROWID

2.1.14 UROWID

2.2.1 匿名块

2.2.2 函数和过程块

2.2.3 触发器块

2.2.4 嵌套块

2.2.5 嵌套函数和过程

2.2.6 作用域规则

2.3 总结

2.4 问与答

2.5 测验和练习

2.5.1 测验

2.5.2 练习

第3章 第3天课程:编写PL/SQL表达式

3.1 理解操作符、表达式和转换

3.2 使用PL/SQL操作符建立表达式

3.2.1 算术操作符

3.2.2 比较操作符

3.2.3 逻辑操作符

3.2.4 字符串操作符

3.3 对字符串使用比较操作符

3.3.1 字符集对字符串比较的影响

3.3.2 大小写对字符串比较的影响

3.4 对日期使用比较操作符

3.5 使用表达式

3.5.1 定义表达式

3.5.2 操作符优先级

3.5.4 表达式中的空值

3.5.3 表达式类型

3.6.1 隐式转换

3.6 转换数据类型

3.6.2 显式转换

3.7 总结

3.8 问与答

3.9 测验和练习

3.9.1 测验

3.9.2 练习

4.1 使用PL/SQL函数

第4章 第4天课程:使用函数、IF语句和循环

4.1.1 定义参数:形参和实参

4.1.2 返回类型

4.1.3 函数违规

4.1.4 异常处理

4.1.5 创建存储函数

4.1.6 查找错误

4.2.2 如何从PL/SQL中使用或不使用参数调用函数

4.2 NULL语句

4.2.1 为何使用NULL语句

4.2.3 调用者和定义者的权限

4.3 使用PL/SQL语句

4.3.1 IF语句

4.3.2 IF…THEN…ELSE语句

4.3.3 嵌套IF语句

4.3.4 使用IF…ELSIF语句

4.3.5 嵌套IF语句和ELSIF语句

4.3.6 格式化IF语句

4.3.7 避免IF语句中的常见错误

4.3.8 循环语句

4.3.9 反向循环

4.3.10 修改步长

4.4 总结

4.5 问与答

4.6.1 测验

4.6.2 练习

4.6 测验和练习

第5章 第5天课程:实现循环和GOTO语句

5.1 探讨标号和GOTO语句

5.1.1 语句标号

5.1.2 GOTO语句

5.1.3 GOTO语句的作用域规则

5.1.4 使用GOTO语句的范例

5.2 WHILE循环

5.2.1 WHILE循环范例

5.1.5 为何使用GOTO语句

5.3 EXIT语句和EXIT WHEN语句

5.3.1 使用EXIT和EXIT WHEN语句的范例

5.3.2 在循环中使用标号和EXIT语句

5.4 简单循环

5.4.1 简单循环范例

5.4.2 创建一个REPEAT…UNTIL循环

5.4.3 模仿的REPEAT…UNTIL循环范例

5.5 应该使用哪种循环

5.6.1 循环的格式

5.6 使用循环的指导原则

5.7 递归

5.7.1 准则

5.7.2 练习使用递归

5.7.3 为何使用递归

5.8 总结

5.9 问与答

5.10 测验和练习

5.10.2 练习

5.10.1 测验

第6章 第6天课程:使用Oracle的内置函数

6.1 SQL函数和PL/SQL函数的比较

6.2 主要的函数类型

6.3 试验函数

6.4 使用转换函数

6.4.1 使用TO_DATE函数

6.4.2 使用TO_CHAR

6.4.3 使用TO_NUMBER

6.4.4 使用TO_CHAR函数

6.5.1 SYSDATE函数

6.5 日期函数

6.5.2 TRUNC函数

6.5.3 ADD_MONTHS函数

6.5.4 NEXT_DAY函数

6.5.5 LAST_DAY函数

6.5.6 MONTHS_BETWEEN0函数

6.5.7 NEW_TIME函数

6.5.9 TRIM函数

6.5.8 ROUND函数

6.6 总结

6.7 问与答

6.8 测验和练习

6.8.1 测验

6.8.2 练习

第7章 第7天课程:过程、包、错误和异常

7.1 使用过程

7.1.3 创建过程

7.1.1 为何使用过程

7.1.2 过程和函数

7.1.4 RETURN语句

7.1.5 过程依赖性

7.1.6 重新编译存储过程

7.1.7 重新创建和修改函数

7.1.8 调用存储过程

7.1.9 使用参数

7.1.10 参数定义

7.1.11 列出存储过程的信息

7.1.12 删除存储过程

7.1.13 重载过程

7.1.14 使用递归过程

7.2 过程调用的安全性

7.3 探讨包

7.3.1 为何使用包

7.3.2 包规范

7.3.3 包体

7.3.4 创建包

7.3.5 调用包子程序

7.3.6 重新编译包

7.3.7 公有和私有包对象

7.3.8 包调用的安全性

7.3.9 变量、游标和常量的持续性

7.3.10 包状态

7.3.11 包的依赖性

7.4 捕获错误和异常

7.4.1 异常处理结构

7.4.2 SQLCODE和SQLERRM函数

7.4.3 发生异常后继续处理

7.4.4 发生异常后重试

7.4.5 重新引发异常

7.5 总结

7.6 问与答

7.4.7 传播异常

7.4.6 异常的作用域规则

7.7 测验和练习

7.7.1 测验

7.7.2 练习

第1周 课程复习

第2部分 第2周课程

第8章 第8天课程:使用SQL

8.2 创建一些Oracle表

8.1 SQL DML语句的类型

8.3 使用INSERT语句

8.3.1 插入一些数据

8.4 单个的SELECT语句

8.4.1 SELECT语句范例

8.5 使用UPDATE语句和DELETE语句

8.6 异常处理类型

8.7 使用LOCK TABLE语句

8.8 事务控制语句

8.9 使用记录

8.9.1 声明记录变量

8.9.3 使用基于数据库表的记录变量

8.9.2 使用%TYPE属性

8.9.4 使用记录变量和SELECT语句

8.9.5 使用基于游标定义的记录变量

8.9.6 包层次的声明

8.10 伪列

8.10.1 CURRVAL伪列和NEXTVAL伪列

8.10.2 ROWID伪列

8.12 问与答

8.11 总结

8.10.3 ROWNUM伪列

8.13 测验和练习

8.13.1 测验

8.13.2 练习

第9章 第9天课程:使用游标操纵数据

9.1 什么是游标

9.2 显式游标

9.2.1 声明游标

9.2.2 声明游标参数

9.2.3 打开游标

9.2.4 将数据取回到游标中

9.2.5 关闭游标

9.2.6 显式游标的属性

9.3 显式游标范例

9.3.1 使显式游标自动化

9.4 隐式游标

9.4.1 隐式游标的属性

9.5 游标参数的作用域

9.6 游标RETURN子句和包

9.7.1 声明游标变量

9.7 游标变量

9.7.2 通过游标变量使用游标

9.7.3 将游标变量赋给其他变量

9.7.4 将游标变量作为参数

9.8 游标的当前记录

9.9 游标的作用域

9.10 游标别名

9.13.1 测验

9.13 测验和练习

9.12 问与答

9.11 总结

9.13.2 练习

第10章 第10天课程:集合

10.1 使用PL/SQL索引表

10.1.1 声明索引表

10.1.2 将条目插入到索引表中

10.1.3 引用索引表中的值

10.1.5 删除表中的条目

10.1.4 修改表中的条目

10.1.6 PL/SQL表的方法

10.2 使用嵌套表

10.2.1 声明嵌套表

10.2.2 给嵌套表添加条目

10.2.3 删除嵌套表中的条目

10.3 使用变长数组

10.3.1 声明和初始化变长数组

10.3.2 给变长数组添加和删除数据

10.4.1 使用BULK COLLECT

10.4 使用批绑定

10.4.2 使用FORALL

10.5 集合的异常处理

10.6 总结

10.7 问与答

10.8 测验和练习

10.8.1 测验

10.8.2 练习

11.1 什么是触发器

第11章 第11天课程:编写数据库触发器

11.2 DML触发器

11.2.1 DML触发器范例

11.2.2 DML触发器分类

11.2.3 定义数据库触发器的语法

11.3 触发器的用途

11.3.1 维护数据完整性

11.3.2 维护历史记录

11.4.1 列出触发器

11.4 管理触发器

11.4.2 查看触发器的代码

11.4.3 打开和关闭触发器

11.5 非传统触发器

11.5.1 定义作用于数据库事件或模式事件的触发器的语法

11.5.2 事件属性

11.5.3 编写一个数据库事件触发器

11.5.4 编写DDL事件触发器

11.6 使用替代触发器

11.6.2 编写一个替代触发器

11.6.1 定义替代触发器的语法

11.7 探讨触发器的局限性

11.7.1 触发器和变化表

11.8 总结

11.9 问与答

11.10 测验和练习

11.10.1 测验

11.10.2 练习

12.1 面向对象编程的基本知识

第12章 第12天课程:将Oracle8i对象用于面向对象编程

12.1.1 封装

12.1.2 继承

12.1.3 多态

12.1.4 类、对象、属性和方法

12.1.5 OOP优于传统方法的地方

12.2 Oracle8i是如何实现对象的

12.3 定义对象类型

12.2.3 对象视图

12.2.2 对象表

12.2.1 对象类型

12.3.1 构造函数

12.3.2 取值方法

12.3.3 赋值方法

12.4 实例化和使用对象

12.5 存储和检索对象

12.5.1 将对象存储为表字段

12.5.2 检索和更新表字段中的对象

12.6 使用对象表

12.6.1 将对象存储在对象表中

12.6.2 检索和更新对象表中的对象

12.6.3 删除对象表中的对象

12.7 嵌套和共享对象

12.7.1 点号表示法

12.7.2 对象引用

12.8 探讨SELF参数

12.9 重载

12.10 比较对象

12.10.1 ORDER方法

12.10.2 MAP方法

12.11 Oracle实现的局限性

12.12 总结

12.13 问与答

12.14 测验和练习

12.14.1 测验

12.14.2 练习

13.1.1 识别语法错误

第13章 第13天课程:调试代码并防止错误

13.1 定位并消除语法错误

13.1.2 一个识别语法错误的范例

13.1.3 防止语法错误

13.2 处理逻辑错误

13.2.1 操作次序

13.2.2 死循环

13.2.3 逻辑错误的排除方法

13.3.1 将DBMS_OUTPUT用做调试工具

13.3 使用工具帮助调试程序

13.3.2 编写DEBUG包

13.4 防止错误并规划以后的调试

13.4.1 定义需求和规划项目

13.4.2 使用模块化方法编码

13.4.3 注释代码

13.4.4 在代码中编写断言

13.4.5 格式化代码

13.6 问与答

13.5 总结

13.7.1 测验

13.7.2 练习

13.7 测验和练习

第14章 第14天课程:使用大型对象类型

14.1 探讨大型对象数据类型

14.1.1 LOB的局限性

14.1.2 LOB和LONG数据类型的比较

14.1.3 将LONG转换为LOB

14.2 在Oracle8i数据库中使用外部文件

14.2.1 创建目录对象

14.2.2 BFILE的局限性

14.3 将DBMS_LOB包用于BFILE

14.3.1 BFILENAME函数

14.3.2 COMPARE函数

14.3.5 FILEEXISTS函数

14.3.6 FILEGETNAME过程

14.3.3 FILECOLOSE过程

14.3.4 FILECLOSEALL过程

14.3.7 FILEISOPEN函数

14.3.8 FILEOPEN过程

14.3.9 GETLENGTH函数

14.3.10 INSTR函数

14.3.11 READ过程

14.4 使用DMBS_LOB包的BFILE范例

14.4.1 访问BFILE

14.3.12 SUBSTR函数

14.4.2 比较文件

14.5 使用定位器

14.6 将DBMS_LOB包用于内部LOB

14.6.1 APPEND过程

14.6.2 COMPARE函数

14.6.3 COPY过程

14.6.4 EMPTY_BLOB函数

14.6.5 EMPTY_CLOB函数

14.6.8 INSTR函数

14.6.7 GETLENGTH函数

14.6.6 ERASE过程

14.6.9 READ过程

14.6.10 SUBSTR函数

14.6.11 TRIM过程

14.6.12 WRITE过程

14.7 使用DMBS_LOB包的内部LOB范例

14.7.1 创建一个表

14.7.2 给表添加数据

14.7.3 使用COPY过程将数据添加到表LOBS中

14.7.4 使用APPEND和WRITE操纵内部LOB

14.7.5 分析内部LOB的内容

14.7.6 使用TRIM和ERASE编辑CLOB

14.8 临时LOB

14.8.1 管理临时LOB

14.8.2 创建临时LOB

14.10 问与答

14.11 测验和练习

14.9 总结

14.11.1 测验

14.11.2 练习

第2周课程复习

第3部分 第3周课程

第15章 第15天课程:管理事务和锁定

15.1 事务类型

15.2 开始事务

15.3 结束事务

15.4 撤销事务

15.5 两步提交

15.6 使用保存点创建书签

15.7 使用RELEASE选项

15.8 使用锁定

15.8.1 锁定表

15.8.2 锁定记录

15.8.3 显式锁定

15.8.4 DBMS_LOCK包

15.8.6 监视锁定

15.8.5 使用其他锁定

15.9 总结

15.10 问与答

15.11 测验和练习

15.11.1 测验

15.11.2 练习

第16章 第16天课程:生成动态SQL

16.1 什么是动态SQL,为何使用它

16.2 两种使用动态SQL的方法

16.3 使用DBMS_SQL包

16.3.1 使用DBMS_SQL包执行非查询DDL和DML语句

16.3.2 使用DBMS_SQL包执行查询

16.3.3 使用DBMS_SQL包执行匿名PL/SQL块

16.3.4 处理DBMS_SQL错误

16.3.5 使用LAST_ROW_COUNT

16.3.6 使用LAST_ROW_ID

16.4.1 执行DML和DDL

16.4 使用本机动态SQL

16.3.7 使用LAST_ERROR_POSITON

16.4.2 执行SQL查询

16.4.3 执行PL/SQL块

16.5 总结

16.6 问与答

16.7 测验和练习

16.7.1 测验

16.7.2 练习

17.1 DBMS_OUTPUT包

第17章 第17天课程:将数据写到文件和显示屏

17.1.1 开启DBMS_OUTPUT包

17.1.2 关闭DBMS_OUTPUT包

17.1.3 将数据写到缓冲区

17.1.4 从缓冲区读取数据

17.1.5 DBMS_OUTPUT包引发的异常

17.2 使用UTL_FILE包读写文件

17.2.1 文件输入

17.2.2 使用UTL_FILE过程和函数

17.2.4 使用UTL_FILE的范例

17.2.3 FFLUSH过程

17.3 将TEXT_IO用于客户文件

17.4 总结

17.5 问与答

17.6 测验和练习

17.6.1 测验

17.6.2 练习

18.1 使用DBMS_JOB包提交作业

第18章 第18天课程:管理数据库作业

18.2 使用后台进程

18.3 执行作业

18.3.1 使用SUBMIT将作业提交给作业队列

18.3.2 使用RUN立刻执行作业

18.3.3 探讨作业环境

18.4 查看作业

18.4.1 查看作业的范例

18.5 作业管理

18.5.1 删除作业

18.5.2 修改作业

18.5.3 导入和导出作业

18.5.4 处理损坏的作业

18.6 练习管理作业

18.6.1 创建作为作业提交的过程

18.6.2 将所有的作业提交给作业队列

18.6.3 立刻运行所有的三个作业

18.6.4 查看关于作业的信息

18.6.5 通过运行HELLO作业修改作业

18.6.6 删除Hello作业

18.7 总结

18.8 问与答

18.9 测验和练习

18.9.1 测验

18.9.2 练习

第19章 第19天课程:报警以及与其他过程通信:DBMS_ALERT和DBMS_PIPE包

19.1 DBMS_ALERT包

19.3 注册报警

19.2 使用SIGNAL发布报警

19.4 等待特定的报警

19.5 等待所有已注册的报警

19.6 删除一个报警

19.7 删除所有的报警

19.8 SET_DEFAULTS过程涉及的轮讯和事件

19.9 演示DBMS_ALERT包的用法

19.9.1 创建备份数据库

19.9.2 创建触发器,以发送报警

19.9.3 等待报警

19.10 DBMS_PIPE包

19.10.1 公有管道和私有管道

19.10.2 使用管道

19.10.3 DMBS_PIPE中的函数和过程

19.10.4 使用管道的范例

19.10.5 其他管道函数和过程

19.10.6 管道的其他用途

19.11 报警和管道的比较

19.13 问与答

19.12 总结

19.14.1 测验

19.14.2 练习

19.14 测验和练习

第20章 第20天课程:PL/SQL和Java

20.1 使用Oracle的Java引擎

20.2 PL/SQL将被淘汰吗

20.3 创建Java过程

20.3.1 需要的前提条件

20.3.3 装载类

20.3.2 SS_CONSTANTS类

20.3.4 公布SSThresh方法

20.3.5 在SQL*Plus中调用SS_THRESH

20.3.6 在PL/SQL中调用SS_THRESH

20.3.7 删除SSContants类

20.4 从PL/SQL中调用Java

20.4.1 Employee类

20.4.2 公布Java方法

20.4.3 数据类型兼容性

20.4.4 使用OUT和IN OUT参数

20.5 使用SQLJ从Java中调用PL/SQL

20.5.1 使用SQLJ执行匿名PL/SQL块

20.5.2 使用SQLJ调用PL/SQL过程或函数

20.6 总结

20.7 问与答

20.8 测验和练习

20.8.2 练习

20.8.1 测验

第21章 第21天课程:高级排队

21.1 什么是AQ

21.1.1 揭开AQ的神秘面纱

21.1.2 AQ的重要特性

21.2 配置服务器,以便使用AQ

21.3 探讨AQ方案

21.4 创建一个消息队列

21.4.1 为负载定义一个类型

21.4.2 创建队列表

21.4.3 创建队列

21.5 启动和关闭队列

21.6 将消息放入队列

21.6.1 与入队相关的记录类型

21.6.2 将消息放入队列

21.7 从队列中检索消息

21.7.1 与出队相关的记录类型

21.7.2 将消息从队列中取出

21.8.1 删除队列

21.8 使用其他AQ过程

21.8.2 删除队列表

21.8.3 授予和收回访问队列的权限

21.9 总结

21.10 问与答

21.11 测验和练习

21.11.1 测验

21.11.2 练习

第3周课程复习

附录A 测验和练习答案


书查询(www.shuchaxun.com)本网页唯一编码:
0cf884f5ed6ad475228b3cceaba47e97#c14fbbab7ad4be23ea4d4c239180ea4e#51310983#21天学通PL_SQL_10460822.zip