《Oracle 9i PL/SQL开发人员指南》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)Bulusu Lakshman著;彭晖等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:7302090645
  • 页数:433 页
图书介绍:本书学习了PL/SQL 9i典型特征与面向对象特征之间的区别,介绍了游标、触发器、自治事务、对象类型、继承、集合等概念,讲述了如何使用PL/SQL与Java,以及实现支持Web的PL/SQL应用程序。

目录 3

第Ⅰ部分 入门 3

第1章 PL/SQL入门 3

1.1 使用PL/SQL的优势 4

1.2 构造PL/SQL代码块 6

1.2.1 PL/SQL代码块示例 6

1.2.2 嵌套块示例 7

1.3.1 条件结构 8

1.3 PL/SQL的程序结构 8

1.3.2 CASE语句与CASE表达式 9

1.3.3 迭代结构 9

1.4 PL/SQL环境 11

1.5 PL/SQL 9i的新特性 13

1.5.1 PL/SQL 9i特有的非面向对象特征 13

1.5.2 PL/SQL特有的面向对象的特征 18

1.6 小结 21

2.1 游标简介 25

第Ⅱ部分 PL/SQL 9i的非面向对象特性 25

第2章 游标 25

2.1.1 显式游标 26

2.1.2 SELECT FOR UPDATE游标 40

2.1.3 隐式游标 42

2.2 游标变量 48

2.2.1 使用游标变量的原因 48

2.2.2 定义游标变量 48

2.2.3 使用游标变量 50

2.2.4 从存储子程序中返回结果集 58

2.3 游标表达式 58

2.3.1 使用游标表达式的原因 59

2.3.2 声明游标表达式 59

2.3.3 游标表达式的使用 61

2.3.4 使用多层嵌套游标的游标表达式 63

2.3.5 将游标表达式作为从SQL中调用函数的参数 64

2.4 小结 69

第3章 PL/SQL记录与Index-by表 70

3.1 记录 71

3.1.1 记录的定义 71

3.1.2 记录类型的使用 72

3.1.3 记录的初始化 75

3.1.4 记录的赋值 76

3.1.5 其他记录类型 79

3.2 Index-by表 82

3.2.1 Index-by表的定义 83

3.2.2 Index-by表的使用 84

3.2.3 Index-by表的方法 90

3.2.4 记录的Index-by表 94

3.2.5 联合数组 95

3.3 小结 97

第4章 错误消息处理 98

4.1 PL/SQL异常:类型与定义 98

4.1.1 错误类型 98

4.1.3 错误文本 99

4.1.2 错误代号 99

4.1.4 PL/SQL的内置错误 100

4.1.5 异常处理程序 101

4.1.6 PL/SQL异常的类型 102

4.2 处理PL/SQL异常 102

4.2.1 处理预定义异常 103

4.2.2 处理用户自定义异常 109

4.2.3 处理未预定义的Oracle错误 111

4.2.4 PRAGMA_EXCEPTION_INIT 112

4.2.5 处理在声明和异常处理部分引发的异常 114

4.2.6 PL/SQL异常的作用域 117

4.3 用户定义的PL/SQL错误消息 117

4.3.1 在PL/SQL中定义用户自定义错误消息 118

4.3.2 在PL/SQL中处理用户自定义的错误消息 118

4.4 PL/SQL错误提示和异常处理 122

4.5 小结 122

第5章 存储子程序(过程、函数和包) 123

5.1.1 过程的创建和使用 124

5.1 过程和函数的创建与使用 124

5.1.2 函数的创建和使用 126

5.1.3 过程或函数的执行 128

5.1.4 过程或函数参数的定义 130

5.1.5 存储子程序的元数据 136

5.2 PL/SQL包 140

5.3 返回结果集的子程序 152

5.4 在SQL语句中使用存储函数 154

5.4.1 从SOL中调用存储函数的标准 156

5.4.2 从SQL中调用函数的纯度等级 156

5.5 通过引用传递参数 161

5.5.1 NOCOPY和异常处理 162

5.5.2 NOCOPY对性能的提高 163

5.5.3 使用NOCOPY的一些限制 164

5.6 定义者和调用者权限 165

5.6.1 调用者权限模型 165

5.6.2 一个应用程序,多个模式 165

5.6.3 调用者权限和动态SQL 168

5.7 包的其他特性 169

5.7.1 包过程和函数的重载 169

5.7.2 连续可重用包 174

5.8 小结 177

第6章 数据库触发器 178

6.1 PL/SQL触发器:种类与定义 178

6.1.1 触发器的种类 179

6.1.2 触发器的定义 179

6.1.3 触发器与元数据 186

6.1.4 触发器的其他一些概念 189

6.2 只读视图、可更新视图和INSTEAD-OF触发器 191

6.2.1 定义INSTEAD-OF触发器 192

6.2.2 INSTEAD-OF触发器的使用 195

6.3 新的数据库触发器 196

6.3.1 系统事件和用户事件触发器 196

6.3.2 触发器属性 197

6.3.3 事件列表 198

6.4 小结 201

第7章 本地动态SQL和动态PL/SQL 202

7.1 DBMS_SQL与本地动态SQL比较 203

7.2 本地动态SQL语句 204

7.3 动态DDL 205

7.4 动态SELECTS 208

7.4.1 单行SELECTS 208

7.4.2 多行SELECTS 210

7.5 动态INSERT、UPDATE和DELETE 213

7.6 绑定变量的使用 214

7.7 动态PL/SQL 215

7.8 本地动态SQL中的异常处理 216

7.9 本地动态SQL和对象 217

7.10 小结 217

8.1 自治事务前的事务管理 218

8.2 自治事务的定义和使用 218

第8章 自治事务 218

8.2.1 自治事务的优点 219

8.2.2 将事务指定为自治事务 219

8.2.3 自治事务处理 222

8.2.4 自治触发器 223

8.2.5 自治事务的一些关键问题 225

8.3 小结 228

第9章 本地批绑定 229

9.1 批DML 230

9.1.1 SQL出错以后的情况 234

9.1.2 SAVE EXCEPTION子句 234

9.1.3 FORALL语句的属性 237

9.2 批查询 238

9.2.1 在SELECR...INTO语句使用BULK COLLECT 238

9.2.2 在Fetching中使用BULK COLLECT 240

9.2.3 在RETURNING INTO中使用BULK COLLECT 241

9.2.4 宿主数组和批DML 243

9.3 批动态SQL 243

9.3.2 将EXECUTE IMMEDIATE与FORALL语句结合在一起使用进行批DML 244

9.3.1 通过使用SELECT...INTO语句,将BULK COLLECT与EXECUTE IMMEDIATE结合在一起进行批查询 244

9.3.3 将FORALL...RETURNING INTO...与EXECUTE IMMEDIATE结合在一起使用进行批DML 245

9.3.4 使用FETCH...BULK COLLECT INTO...从使用本地动态SQL打开的游标中进行批取值 245

9.4 小结 246

第Ⅲ部分 PL/SQL 9i的面向对象特性 249

第10章 对象的世界 249

10.1 对象类型与对象表 249

10.1.1 PL/SQL中对象类型和它们的创建与使用 249

10.1.2 定义对象类型 250

10.1.3 对象实例及其初始化 252

10.1.4 方法 254

10.1.5 修改和删除对象类型 261

10.1.6 数据库中的对象 261

10.1.7 对象与本地动态SQL 268

10.2 类型继承 275

10.3 动态方法调度 281

10.4 类型演化 283

10.4.1 对象类型属性的改变 284

10.4.2 对象类型方法的改变 285

10.4.3 类型层次结构中对象类型的INSTANTIABLE和FINAL属性的演化 286

10.4.4 将对一个类型所做的更改传播到从属的类型和表中 286

10.5 Java对象存储:Java语言的SQL类型或SQLJ对象类型 286

10.5.1 创建SQLJ对象类型映射到其中的自定义Java类 287

10.5.2 把类加载到Oracle 9i数据库 288

10.5.3 指定从对象类型到Java类的映射,创建SQLJ对象类型 289

10.5.4 在PL/SQL或SQL中像使用任一对象类型一样使用SQLJ对象类型 290

10.6.1 用户自定义操作符的定义方法 291

10.6 用户自定义操作符 291

10.6.2 函数与用户自定义操作符的比较 293

10.6.3 用户自定义操作符的用处 293

10.6.4 用户自定义操作符的调用 293

10.6.5 在PL/SQL中使用用户自定义操作符 294

10.6.6 删除用户自定义操作符 295

10.7 小结 296

11.1.1 VARRARS 297

第11章 集合(VARRAYS和嵌套表) 297

11.1 PL/SQL中集合的创建和使用 297

11.1.2 嵌套表 302

11.1.3 集合方法 307

11.1.4 数据库中的集合 311

11.2 表函数 318

11.2.1 包含对象类型的表函数 319

11.2.2 Oracle 9i中表函数的新特性 319

11.3 多层集合 324

11.4 小结 328

第12章 大对象 329

12.1 LOB简介 329

12.2 BLOB 330

12.3 CLOB 331

12.4 BFILE 333

12.5 DBMS_LOB包 334

12.5.1 从外部BFILE为BLOB列赋值 341

12.5.2 对CLOB执行读和写操作 342

12.5.3 读取BFILE的长度 344

12.6 TO_LOB函数 345

12.6.1 使用ALTER TABLE...MODIFY语句将LONG复制到LOB 346

12.6.2 使用TO_CLOB和TO_BLOB函数将LONG复制到LOB 347

12.7 小结 347

第Ⅳ部分 PL/SQL与Java和Web 351

第1 3章 PL/SQL与JAVA 351

13.1 在数据库中使用Java 351

13.1.1 执行文件I/O 352

13.1.2 Oracle 9i中Java存储过程的新特性 352

13.2 PL/SQL调用Java:Java存储过程 352

13.2.1 从服务器端PL/SQL调用Java存储过程 352

13.2.2 从非服务器端PL/SQL中调用Java存储过程 353

13.2.3 Java存储过程和PL/SQL存储过程的比较 353

13.3 创建Java存储过程 353

13.3.1 创建Java存储过程的基本步骤 353

13.3.3 加载Java方法 358

13.3 2 从SQL和(或)PL/SQL中调用Java存储过程 358

13.3.4 将Java方法发布到数据库 365

13.4 执行Java存储过程 374

13.4.1 从顶层执行 374

13.4.2 从数据库触发器中执行 375

13.4.3 从SQL DML中执行 375

13.4.4 从PL/SQL中执行 376

13.5 返回结果集的Java存储过程 378

13.5.1 写一个返回结果集的Java方法并将其编译生成一个.class文件 378

13.5.2 将.class文件加载到Oracle 9i数据库中 380

13.5.3 在Oracle 9i数据库中,使用PL/SQL调用规范发布Java方法 380

13.5.4 使用PL/SQL调用规范调用Java存储过程 380

13.6 小结 381

第14章 PL/SQL与Web 382

14.1 在PL/SQL中使用HTML 382

14.1.1 创建一个数据库访问描述符 383

14.1.3 将存储过程作为URL进行调用 387

14.1.2 创建存储过程 387

14.1.4 在PL/SQL中使用HTML时传递参数 389

14.2 HTML中的PL/SQL:PL/SQL Server Page 392

14.2.1 PSP基础 393

14.2.2 开发PL/SQL Server Page 394

14.3 使用PL/SQL构建面向Web的应用程序 396

14.3.1 用户接口 396

14.3.2 业务逻辑 397

14.3.3 Organization Web应用程序的调用 400

14.4 使用PL/SQL发送电子邮件 403

14.5 小结 405

第Ⅴ部分 PL/SQL性能与标准 409

第15章 影响性能的因素 409

15.1 一些PL/SQL调整过程 409

15.2 PL/SQL代码的本地编译 410

15.2.1 本地编译的工作过程 410

15.2.2 性能受益 411

15.2.3 附加参数 411

15.3.1 参数传递的过程 412

15.3 通过引用传递参数 412

15.4 使用本地动态SQL 413

15.4.1 本地动态SQL的执行过程 413

15.3.2 性能受益 413

15.4.2 性能受益 414

15.5 使用批绑定 414

15.5.1 批绑定的过程 414

15.6 使用RETURNING子句 415

15.6.1 RETURNING子句的工作过程 415

15.5.2 性能受益 415

15.6.2 性能受益 416

15.7 使用对象类型和集合 416

15.8 使用管道表函数 416

15.8.1 管道表函数的工作过程 416

15.8.2 性能受益 416

15.9 小结 417

第16章 PL/SQL编码标准 418

16.1 编码标准 418

16.1.2 游标 419

16.1.1 PL/SQL入门 419

16.1.3 PL/SQL记录和Index-by表 420

16.1.4 错误消息处理 421

16.1.5 子程序 422

16.1.6 数据库触发器 422

16.1.7 本地动态SQL 423

16.1.8 自治事务 423

16.1.9 本地批绑定 424

16.1.10 数据库对象 424

16.1.11 集合 425

16.1.12 大对象 425

16.1.13 数据库中的Java 426

16.2 小结 426

第Ⅵ部分 附录 429

附录A 案例分析与模式对象 429

A.1 组织层次系统 430

A.2 订单录入应用系统 432