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

  • 购买积分:21 如何计算积分?
  • 作  者:(美)麦克罗克林著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302198314
  • 页数:758 页
图书介绍:本书全面介绍了PL/SQL的基础知识、特性、功能和使用技巧,是Oracle Database 11g PL/SQL程序的全新升级版,示例更多,讲解更深入。

第Ⅰ部分 PL/SQL基本原理第1章 Oracle PL/SQL概览 3

1.1 历史和背景知识 4

1.2 体系结构 5

1.3 基本的块结构 7

1.4 Oracle 10g的新功能 9

1.4.1 内置包 10

1.4.2 编译时警告 10

1.4.3 条件编译 10

1.4.4 NUMBER数据类型行为 11

1.4.5 优化的PL/SQL编译器 11

1.4.6 正则表达式 12

1.4.7 引号的选择性 12

1.4.8 集合运算符 12

1.4.9 堆栈跟踪错误 13

1.4.10 包装PL/SQL存储程序 14

1.5 Oracle 11g的新功能 15

1.5.1 自动子程序内联 15

1.5.2 CONTINUE语句 16

1.5.3 跨会话PL/SQL函数结果缓存 16

1.5.4 增强的动态SQL 16

1.5.5 采用命名和位置等表示法的SQL调用 17

1.5.6 多进程连接池 19

1.5.7 PL/SQL Hierachical Profiler 20

1.5.8 PL/SQL Native Compiler生成本地代码 21

1.5.9 PL/Scope 21

1.5.10 增强的正则表达式 21

1.5.11 SIMPLE_INTEGER数据类型 21

1.5.12 SQL语句中的直接序列调用 21

1.6 小结 22

第2章 PL/SQL基础知识 23

2.1 Oracle PL/SQL块结构 24

2.2 变量、赋值和运算符 26

2.3 控制结构 28

2.3.1 条件结构 28

2.3.2 迭代结构 30

2.4 存储函数、过程和包 33

2.4.1 存储函数 34

2.4.2 过程 35

2.4.3 包 36

2.5 事务作用域 37

2.5.1 单事务作用域 37

2.5.2 多事务作用域 38

2.6 数据库触发器 38

2.7 小结 39

第3章 语言基本知识 41

3.1 字符和词汇单元 42

3.1.1 分隔符 42

3.1.2 标识符 46

3.1.3 字面值 47

3.1.4 注释 49

3.2 块结构 49

3.3 变量类型 53

3.3.1 标量数据类型 56

3.3.2 大对象 70

3.3.3 复合数据类型 73

3.3.4 系统引用游标 78

3.4 变量作用域 80

3.5 小结 81

第4章 控制结构 83

4.1 条件语句 84

4.1.1 IF语句 90

4.1.2 CASE语句 93

4.1.3 条件编译语句 95

4.2 迭代语句 96

4.2.1 简单循环语句 97

4.2.2 FOR循环语句 100

4.2.3 WHILE循环语句 102

4.3 游标结构 103

4.3.1 隐式游标 103

4.3.2 显式游标 106

4.4 批语句 112

4.4.1 BULK COLLECT INTO语句 112

4.4.2 FORALL语句 116

4.5 小结 119

第5章 错误管理 121

5.1 异常类型和作用域 122

5.1.1 编译错误 123

5.1.2 运行时错误 125

5.2 异常管理内置函数 129

5.3 用户定义的异常 131

5.3.1 声明用户定义的异常 131

5.3.2 动态的用户定义的异常 132

5.4 异常堆栈函数 133

5.4.1 异常块管理 134

5.4.2 错误堆栈格式化 137

5.5 数据库触发器异常管理 139

5.5.1 关键性错误数据库触发器 140

5.5.2 非关键性错误数据库触发器 145

5.6 小结 146

第Ⅱ部分 PL/SQL程序设计第6章 函数和过程 149

6.1 函数和过程体系结构 150

6.2 事务作用域 155

6.3 调用子例程 156

6.3.1 位置表示法 156

6.3.2 命名表示法 156

6.3.3 混合表示法 156

6.3.4 排除表示法 157

6.4 SQL调用表示法 157

6.5 函数 157

6.5.1 创建选项 159

6.5.2 值传递函数 168

6.5.3 引用传递函数 173

6.6 过程 176

6.6.1 值传递过程 177

6.6.2 引用传递过程 181

6.7 小结 186

第7章 集合 187

7.1 集合类型 189

7.1.1 varray集合 191

7.1.2 嵌套表 203

7.1.3 联合数组 216

7.2 集合运算符 223

7.2.1 CARDINALITY运算符 225

7.2.2 EMPTY运算符 226

7.2.3 MEMBER OF运算符 226

7.2.4 MULTISET EXCEPT运算符 226

7.2.5 MULTISET INTERSECT运算符 226

7.2.6 MULTISET UNION运算符 227

7.2.7 SET运算符 228

7.2.8 SUBMULTISET运算符 229

7.3 集合API 229

7.3.1 COUNT方法 231

7.3.2 DELETE方法 232

7.3.3 EXISTS方法 233

7.3.4 EXTEND方法 234

7.3.5 FIRST方法 236

7.3.6 LAST方法 237

7.3.7 LIMIT方法 237

7.3.8 NEXT方法 238

7.3.9 PRIOR方法 238

7.3.10 TRIM方法 239

7.4 小结 240

第8章 大对象 241

8.1 字符大对象:CLOB与NCLOB数据类型 242

8.2 PL/SQL读文件与写CLOB或NCLOB列 246

8.3 向数据库中上传CLOB 249

8.4 二进制大对象:BLOB数据类型 250

8.5 PL/SQL读文件与写BLOB列 252

8.6 向数据库中上传BLOB 255

8.7 SecureFile 255

8.8 二进制文件:BFILE数据类型 257

8.8.1 创建和使用虚拟目录 257

8.8.2 读取规范路径名与文件名 265

8.9 DBMS_LOB包 272

8.9.1 包常量 272

8.9.2 包异常 274

8.9.3 打开与关闭方法 275

8.9.4 操作方法 276

8.9.5 内省方法 280

8.9.6 BFILE方法 283

8.9.7 临时LOB方法 285

8.10 小结 285

第9章 包 287

9.1 包体系结构 288

9.1.1 前向引用 289

9.1.2 重载 291

9.2 包规范 292

9.2.1 变量 295

9.2.2 类型 296

9.2.3 组件:函数与过程 299

9.3 包主体 300

9.3.1 变量 302

9.3.2 类型 303

9.3.3 组件:函数与过程 304

9.4 定义者与调用者权限 306

9.4.1 授权与同义词 307

9.4.2 远程调用 308

9.5 管理数据库目录中的包 309

9.5.1 查找、验证和描述包 309

9.5.2 检查依赖关系 311

9.5.3 比较有效性验证方法:时间戳与签名 312

9.6 小结 312

第10章 触发器 313

10.1 触发器简介 314

10.2 数据库触发器体系结构 315

10.3 数据定义语言触发器 317

10.3.1 事件属性函数 318

10.3.2 构建DDL触发器 327

10.4 数据操作语言触发器 329

10.4.1 语句级触发器 330

10.4.2 行级触发器 331

10.5 复合触发器 334

10.6 Instead-of触发器 338

10.7 系统或数据库事件触发器 341

10.8 触发器限制 343

10.8.1 最大触发器尺寸 343

10.8.2 SQL语句 343

10.8.3 LONG和LONG RAW数据类型 344

10.8.4 变异表 344

10.8.5 系统触发器 345

10.9 小结 346

第Ⅲ部分 PL/SQL高级编程第11章 动态SQL 349

11.1 动态SQL体系结构 350

11.2 本地动态SQL(NDS) 350

11.2.1 动态语句 351

11.2.2 带输入的动态语句 353

11.2.3 带输入和输出的动态语句 355

11.2.4 带未知数量的输入的动态语句 359

11.3 DBMS_SQL包 360

11.3.1 动态语句 362

11.3.2 带输入变量的动态语句 365

11.3.3 带输入和输出变量的动态语句 367

11.3.4 DBMS_SQL包定义 370

11.4 小结 381

第12章 会话间通信 383

12.1 会话间通信简介 384

12.1.1 需要永久性或临时性的结构体 384

12.1.2 不需要永久性或临时性的结构体 384

12.1.3 比较会话间通信方法 385

12.2 DBMS_PIPE内置包 385

12.2.1 DBMS_PIPE包简介 385

12.2.2 DBMS_PIPE包的定义 387

12.2.3 DBMS_PIPE包的使用 391

12.3 DBMS_ALERT内置包 401

12.3.1 DBMS_ALERT包简介 401

12.3.2 DBMS_ALERT包的定义 402

12.3.3 DBMS_ALERT包的使用 404

12.4 小结 408

第13章 外部过程 409

13.1 外部过程简介 410

13.2 使用外部过程 410

13.2.1 定义extproc的结构 410

13.2.2 定义extproc的Oracle Net Services配置 412

13.2.3 定义多线程的外部过程代理 419

13.2.4 使用C共享库 421

13.2.5 使用Java共享库 428

13.3 解决共享库的错误 432

13.3.1 侦听器或环境的配置 432

13.3.2 共享库或PL/SQL库包装器的配置 435

13.4 小结 436

第14章 对象类型 437

14.1 对象基础知识 439

14.1.1 声明对象 440

14.1.2 实现对象主体 442

14.1.3 getter和setter 444

14.1.4 静态成员方法 446

14.1.5 比较对象 447

14.2 继承和多态 454

14.2.1 声明子类 455

14.2.2 实现子类 456

14.2.3 类型演变 459

14.3 实现集合对象主体 460

14.3.1 声明对象类型集合 460

14.3.2 实现对象类型集合 461

14.4 小结 463

第15章 Java库 465

15.1 Oracle 11g JVM的新功能 466

15.2 Java的体系结构 466

15.2.1 Java的执行控制 468

15.2.2 Java资源存储 468

15.2.3 Java类名 469

15.2.4 Java分解器 469

15.2.5 Java安全与权限 469

15.2.6 Java线程 469

15.3 Oracle的Java连接类型 469

15.3.1 客户端驱动程序或JDBC瘦驱动程序 469

15.3.2 Oracle调用接口驱动程序或中间层胖驱动程序 470

15.3.3 Oracle服务器端内部驱动程序或服务器层胖驱动程序 470

15.4 在Oracle中创建Java类库 471

15.4.1 构建内部服务器Java函数 472

15.4.2 创建内部服务器Java过程 477

15.4.3 创建内部服务器Java对象 480

15.5 Java类库的故障检修 485

15.5.1 创建、加载和删除Java类库对象 485

15.5.2 使用Java类库对象 486

15.6 映射Oracle类型 488

15.7 小结 490

第16章 Web应用程序开发 491

16.1 PL/SQL Web Server体系结构 493

16.1.1 Oracle HTTP Server体系结构 493

16.1.2 Oracle XML Database Server体系结构 494

16.2 配置独立Oracle HTTP服务器 496

16.2.1 描述mod_plsql模组 497

16.2.2 配置Oracle HTTP服务器 498

16.3 配置XML DB Server 500

16.3.1 配置静态身份验证 503

16.3.2 配置动态身份验证 504

16.3.3 配置匿名身份验证 504

16.4 比较支持Web的PL/SQL过程和PSP 506

16.5 创建支持Web的PL/SQL存储过程 507

16.5.1 开发不带形参的过程 509

16.5.2 开发带形参的过程 510

16.5.3 优缺点分析 515

16.6 构建和访问PL/SQL Server Page(PSP) 515

16.6.1 开发和运行不带形参的PSP过程 517

16.6.2 开发带形参的PSP过程 518

16.6.3 优缺点比较 522

16.7 小结 522

第Ⅳ部分 附录 525

附录A Oracle数据库管理入门 525

A.1 Oracle数据库体系结构 526

A.2 启动和停止Oracle数据库 530

A.3 启动和停止Oracle侦听器 537

A.4 Oracle角色和权限 541

A.5 访问和使用SQL*Plus界面 542

A.6 小结 549

附录B Oracle数据库SQL入门 551

B.1 Oracle SQL*Plus数据类型 552

B.2 数据定义语言(DDL) 556

B.3 数据查询语言(DQL) 568

B.4 数据操纵语言(DML) 574

B.5 数据控制语句(DCL) 578

B.6 小结 579

附录C PHP技术入门 581

C.1 历史和背景 582

C.2 开发Web编程解决方案 583

C.3 小结 632

附录D Oracle数据库Java技术入门 633

D.1 Java和JDBC体系结构 634

D.2 配置Oracle Java环境 634

D.3 Java编程语言技术入门 636

D.4 测试客户端或瘦驱动程序JDBC连接 643

D.5 访问标量变量 648

D.6 写入和访问大对象 655

D.7 小结 670

附录E 正则表达式入门 671

E.1 正则表达式简介 672

E.2 Oracle 11正则表达式实现 676

E.3 使用正则表达式 681

E.4 小结 686

附录F 包装PL/SQL代码入门 687

F.1 包装PL/SQL的限制 688

F.2 使用wrap命令行实用程序 688

F.3 使用DBMS_DDL命令行实用程序 689

F.4 小结 692

附录G PL/SQL分层的配置文件入门 693

G.1 配置模式 694

G.2 收集配置文件数据 695

G.3 配置文件数据 698

G.4 使用plshprof命令行实用程序 702

G.5 小结 704

附录H PL/Scope 705

H.1 配置PL/Scope数据收集 706

H.2 查看PL/Scope收集数据 706

H.3 小结 707

附录I PL/SQL保留字和关键字 709

附录J PL/SQL内置函数 717

J.1 字符函数 718

J.2 数据类型转换 724

J.3 错误报告 734

J.4 综合函数 736

J.5 数字 754

J.6 小结 758