《Oracle Database 10g PL/SQL程序设计》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:(美)Scott Urman,(美)Ron Hardman,(美)Michael McLaughlin著;彭珲译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302118922
  • 页数:668 页
图书介绍:本书内容包括开发PL/SQL程序,使用PL/SQL块结构、变量、数据类型,部署子程序、过程、函数,使用调度程序。

目录 3

第Ⅰ部分 绪论 3

第1章 PL/SQL入门 3

1.1 程序设计语言简介 4

1.2 什么是PL/SQL 5

1.2.1 结构化查询语言SQL 5

1.2.2 关系数据库简介 6

1.2.3 PL/SQL与SQL 8

1.2.4 PL/SQL与Java 9

1.2.5 PL/SQL的历史和功能 10

1.3 语言基础 12

1.3.1 匿名块(Anonymous Blocks) 12

1.3.2 过程(Procedure) 13

1.3.3 函数(Function) 13

1.3.4 包(Package) 13

1.3.5 对象类型(Object Type) 13

1.5.1 读者范围 14

1.5 如何充分使用本书 14

1.4.1 解释执行 14

1.4.2 本地编译 14

1.4 PL/SQL语句的处理 14

1.5.2 目标 15

1.5.3 范围 15

1.5.4 先决条件 15

1.5.5 格式约定 16

1.5.6 示例 16

1.6 小结 17

第2章 使用SQL*Plus和JDeveloper 19

2.1 SQL*Plus 20

2.1.1 连接数据库实例 20

2.1.2 测试连接 21

2.1.3 使用SQL*Plus 22

2.1.4 更改SQL*Plus会话设置 25

2.1.5 从文件中运行脚本 25

2.1.6 使用SQL*Plus和PL/SQL在屏幕上输出内容 26

2.2.1 JDeveloper的安装 27

2.2 JDeveloper 27

2.2.2 在JDeveloper 中使用PL/SQL 29

2.3 小结 33

第3章 PL/SQL基础知识 35

3.1 PL/SQL代码块 36

3.1.1 代码块的基本结构 36

3.1.2 匿名块 38

3.1.3 命名块 41

3.1.4 嵌套块 48

3.1.5 触发器 49

3.1.6 对象类型 50

3.2 PL/SQL的语言规则与约定 51

3.3 PL/SQL的数据类型 60

3.3.1 标量类型 61

3.3.2 字符/字符串类型 61

3.3.3 数值类型 64

3.3.4 布尔类型 66

3.3.5 日期/时间类型 66

3.3.7 引用类型 69

3.3.6 复合类型 69

3.3.8 LOB类型 70

3.4 使用变量 70

3.4.1 %TYPE 71

3.4.2 %ROWTYPE 72

3.4.3 变量的生存范围 72

3.4.4 绑定变量 74

3.5 代码隐藏功能 77

3.6 表达式 80

3.6.1 赋值操作符 80

3.6.2 串联操作符 81

3.7 程序流的控制 82

3.7.1 条件判断语句 82

3.7.2 循环执行 88

3.7.3 使用GOTO语句导航代码的执行顺序 91

3.8 小结 92

第4章 PL/SQL与SQL 93

4.1.1 事务与锁定 94

4.1 事务处理 94

4.1.2 自治事务 98

4.1.3 事务设置 102

4.2 数据检索 102

4.2.1 SQLSELECT语句 103

4.2.2 模式匹配 106

4.2.3 信息检索 109

4.3 游标 112

4.3.1 游标的工作过程 113

4.3.2 显式游标 115

4.3.3 隐式游标 121

4.3.4 游标变量 121

4.3.5 游标子查询 123

4.3.6 打开游标 124

4.4 DML与DDL 125

4.4.1 预编译 126

4.4.2 使用DML控制数据 126

4.4.3 动态SQL简介 129

4.5 ROWID和ROWNUM的用法 130

4.5.1 ROWID 131

4.5.2 ROWNUM 133

4.6 内置的SQL函数 136

4.6.1 字符函数 136

4.6.2 数字函数 137

4.6.3 日期函数 137

4.6.4 转换函数 138

4.6.5 错误函数 139

4.6.6 其他函数 140

4.7 小结 141

第5章 记录 143

5.1 记录概述 143

5.2 记录的使用方法 144

5.2.1 记录类型的定义 145

5.2.2 以形参的形式定义和使用记录类型 156

5.2.3 以形参的形式定义和使用对象类型 159

5.2.4 从函数中返回记录类型的值 161

5.2.5 将记录类型作为函数返回值的定义和使用方法 162

5.2.6 将对象类型作为函数返回值的定义和使用方法 163

5.2.7 检验记录类型的工作过程 166

5.3 小结 167

第6章 集合 169

6.1 集合简介 169

6.2 集合的使用方法 170

6.2.1 Varrays集合的使用方法 172

6.2.2 嵌套表的使用方法 187

6.2.3 联合数组的使用方法 205

6.3 Oracle 10g的集合API 222

6.3.1 COUNT方法 225

6.3.2 DELETE方法 226

6.3.3 EXISTS方法 228

6.3.4 EXTEND方法 230

6.3.5 FIRST方法 232

6.3.6 LAST方法 233

6.3.7 LIMIT方法 233

6.3.9 PRIOR方法 235

6.3.10 TRIM方法 235

6.3.8 NEXT方法 235

6.4 小结 237

第7章 错误处理 239

7.1 什么是异常 239

7.1.1 异常的声明 241

7.1.2 异常的引发 243

7.1.3 异常的处理 244

7.1.4 EXCEPTION INIT编译器指令 250

7.1.5 RAISE APPLICATION ERROR的使用方法 251

7.2 异常的传播 254

7.2.1 在执行部分引发的异常 255

7.2.2 在声明部分引发的异常 257

7.2.3 在异常部分引发的异常 257

7.3 使用异常的准则 259

7.3.1 异常的范围 259

7.3.2 避免未处理异常 260

7.3.3 标识发生错误的位置 261

7.3.4 异常与事务 262

7.3.5 异常代码的编写风格 262

7.4 小结 263

第8章 过程、函数和包的创建 265

8.1 过程和函数 265

8.1.1 子程序的创建 266

8.1.2 子程序的参数 270

8.1.3 CALL语句 287

8.1.4 过程和函数的比较 289

8.2 包 290

8.2.1 包规范 290

8.2.2 包主体 291

8.2.3 包和范围 293

8.2.4 包子程序的重载 295

8.2.5 包的初始化 299

8.3 小结 301

第9章 过程、函数和包的应用 303

9.1 子程序的存储位置 303

9.1.1 存储子程序与数据字典 304

9.1.2 局部子程序 306

9.1.3 存储子程序与局部子程序 312

9.2 存储子程序和包的注意事项 313

9.2.1 子程序的依赖关系 313

9.2.2 包的运行时状态 322

9.2.3 权限与存储子程序 327

9.3 存储函数与SQL语句 336

9.3.1 单值函数 336

9.3.2 多值函数 345

9.5 在共享池中驻留 348

9.4 本地编译 348

9.5.1 KEEP过程 349

9.5.2 UNKEEP过程 349

9.5.3 SIZES过程 349

9.5.4 ABORTED_REQUEST THRESHOLD过程 350

9.5.5 PL/SQL Wrapper 350

9.6 小结 350

第10章 数据库触发器 351

10.1 触发器的分类 351

10.1.1 DML触发器 352

10.1.2 Instead-of触发器 353

10.1.3 系统触发器 355

10.2 创建触发器 355

10.2.1 创建DML触发器 356

10.2.2 创建Instead-of触发器 365

10.2.3 创建系统触发器 371

10.2.4 触发器的其他一些问题 378

10.2.5 触发器与数据字典 384

10.3 变异表 386

10.3.1 变异表示例 388

10.3.2 变异表错误的工作区 389

10.4 小结 391

第Ⅱ部分 PL/SQL的高级特性 395

第11章 会话间通信 395

11.1 会话间通信简介 395

11.1.1 需要永久性或临时性的结构体 396

11.1.2 不需要永久性或临时性的结构体 396

11.2 DBMS_PIPE内置包 397

11.2.1 DBMS_PIPE包简介 397

11.2.2 DBMS_PIPE包的定义 399

11.2.3 DBMS_PIPE包的使用 403

11.3 DBMS_ALERT内置包 419

11.3.1 DBMS_ALERT包简介 419

11.3.2 DBMS_ALERT包的定义 419

11.3.3 DBMS_ALERT包的使用 421

11.4 小结 427

第12章 外部例程 429

12.1 外部过程简介 429

12.2.1 定义exproc的结构 430

12.2 外部例程的工作过程 430

12.2.2 定义extproc的Oracle Net Services配置 432

12.2.3 定义多线程的外部过程代理 439

12.2.4 C语言共享库的工作过程 442

12.2.5 Java共享库的工作过程 448

12.3 解决共享库的错误 454

12.3.1 侦听器或环境的配置 455

12.3.2 共享库或PL/SQL库包装器的配置 458

12.4 小结 459

第13章 动态SQL 461

13.1 动态SQL简介 462

13.2 本地动态SQL的使用方法 463

13.2.1 不带绑定变量的DDL和DML语句的使用方法 464

13.2.2 使用DML和已知的绑定变量列表 472

13.2.3 DQL的使用方法 474

13.3 Oracle的DBMS SQL内置包的使用方法 480

13.3.1 不带绑定变量的DDL和DML语句的使用方法 487

13.3.2 带绑定变量已知列表的DML语句的使用方法 490

13.3.3 DQL的使用方法 497

13.4 小结 499

第14章 对象概览 . 501

14.1 面向对象程序设计简介 501

14.2 对象类型概览 502

14.3 创建对象类型 503

14.3.1 对象类型规范 503

14.3.2 对象类型主体 509

14.4 对象类型继承 514

14.5 属性链 523

14.6 更改 526

14.7 小结 531

第15章 数据库中的对象 533

15.1 数据库中对象的简介 533

15.1.1 对象表 534

15.1.2 列对象 540

15.1.3 对象视图 541

15.2.1 对象表 543

15.2 使用SQL和PL/SQL访问持久对象 543

15.2.2 访问列对象 546

15.2.3 访问对象视图 548

15.2.4 与对象相关的函数和操作符 550

15.3 维护持久对象 560

15.4 小结 563

第16章 大对象 565

16.1 大对象简介 565

16.1.1 特性比较 566

16.1.2 LOB的种类 567

16.1.3 LOB的结构 569

16.1.4 内部LOB的存储 570

16.1.5 外部LOB的存储 573

16.1.6 临时LOB的存储 574

16.1.7 从LONG到LOB的移植 574

16.2 LOB和SQL 575

16.2.1 操作内部持久LOB的SQL 575

16.2.2 外部LOB——BFILE 579

16.3 LOB和PL/SQL 579

16.3.1 DBMS LOB 580

16.3.2 APPEND 582

16.3.3 COMPARE 583

16.3.4 CONVERTTOBLOB/CONVERTOCLOB 585

16.3.5 BFILE FILEEXISTS 590

16.3.6 BFILE_FILEOPEN/OPEN 592

16.3.7 BFILE_FILEISOPEN/ISOPEN 593

16.3.8 BFILE_FILECLOSE/CLOSE/FILECLOSEALL 594

16.3.9 LOADFROMFILE/LOAD-CLOBFROMFILE/LOAD-BLOBFROMFILE 597

16.4.1 RETURNING子句 602

16.4 执行性能 602

16.4.2 索引 603

16.5 小结 608

第17章 任务调度 609

17.1 DBMS JOB简介 610

17.1.1 SUBMIT过程 611

17.1.2 BROKEN过程 614

17.1.3 RUN过程 616

17.1.4 CHANGE过程 617

17.2.1 术语 619

17.1.5 REMOVE过程 619

17.2 Oracle调度器 619

17.2.2 DBMS_SCHEDULER的使用方法 620

17.2.3 从DBMS JOB移植 623

17.2.4 删除作业 625

17.3 小结 625

第Ⅲ部分 附录 629

附录A PL/SQL的保留字 629

附录B 内置包简介 633