《Oracle9i PL/SQL程序设计》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)Scott Urman著;陈维军,王蕾等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:7111099508
  • 页数:429 页
图书介绍:

第一部分 概述及开发环境 1

第1章 PL/SQL概述 1

1.1 为什么使用PL/SQL 1

1.1.1 PL/SQL和网络流量 2

1.1.2 标准 3

1.2 PL/SQL的功能特性 3

1.2.1 语句块结构 4

1.2.2 错误处理 4

1.2.3 变量和类型 5

1.2.4 条件语句 5

1.2.5 循环结构 6

1.2.6 游标 7

1.2.7 过程和函数 7

1.2.8 包 8

1.2.9 集合 9

1.3 本书使用的约定 9

1.3.1 PL/SQL和Oracle版本 9

1.3.2 Oracle文档 11

1.3.3 光盘内容 11

1.4 范例样表 12

1.5 小结 19

第2章 开发及运行环境 20

2.1 应用程序模型和PL/SQL 20

2.1.1 两层模型 20

2.1.2 三层模型 24

2.1.3 连接服务器 25

2.2 PL/SQL开发工具 25

2.2.1 SQL?Plus 26

2.2.2 Rapid SQL 30

2.2.3 DBPartner Debugger 34

2.2.4 SQL Navigator 37

2.2.5 TOAD 41

2.2.6 SQL-Programmer 44

2.2.7 PL/SQL Developer 48

2.2.8 开发工具小结 50

2.3 小结 52

第二部分 PL/SQL基本特性 53

第3章 PL/SQL基础 53

3.1 PL/SQL语句块 53

3.2 词法单元 59

3.2.1 标识符 60

3.2.2 分界符 62

3.2.3 文字 62

3.2.4 注释 64

3.3 变量声明 65

3.3.1 声明语法 65

3.3.2 变量初始化 66

3.4 PL/SQL类型 66

3.4.1 标量类型 67

3.4.2 复合类型 74

3.4.3 引用类型 74

3.4.4 LOB类型 74

3.4.5 对象类型 74

3.4.6 使用%TYPE 75

3.4.7 用户定义子类型 75

3.4.8 数据类型之间的转换 76

3.4.9 变量作用域和可见性 78

3.5 表达式和运算符 79

3.5.1 赋值 79

3.5.2 表达式 80

3.6 PL/SQL控制结构 82

3.6.1 IF-THEN-ELSE 82

3.6.2 CASE 86

3.6.3 循环 89

3.6.4 GOTO和标号 93

3.6.5 编译指示 95

3.7 PL/SQL记录 96

3.7.1 记录赋值 97

3.7.2 使用%ROWTYPE 98

3.8 PL/SQL风格指南 99

3.8.1 注释风格 99

3.8.2 变量名风格 100

3.8.3 大写风格 101

3.8.4 缩进风格 101

3.8.5 常见风格 101

3.9 小结 102

第4章 PL/SQL中的SQL 103

4.1 SQL语句 103

4.1.1 在PL/SQL中使用SQL 103

4.1.2 使用动态SQL 104

4.2 在PL/SQL中使用DML 105

4.2.1 SELECT 106

4.2.2 INSERT 108

4.2.3 UPDATE 109

4.2.4 DELETE 110

4.2.5 WHERE子句 111

4.2.6 批绑定 113

4.2.7 RETURNING子句 114

4.2.8 表引用 116

4.2.9 数据库链接 116

4.2.10 同义词 117

4.3 伪列 117

4.3.1 CURRVAL和NEXTVAL 117

4.3.2 LEVEL 118

4.3.3 ROWID 118

4.3.4 ROWNUM 119

4.4 GRANT、REVOKE和权限 119

4.4.1 对象和系统权限 119

4.4.2 GRANT和REVOKE 120

4.4.3 角色 121

4.5 事务控制 123

4.5.1 COMMIT和ROLLBACK 123

4.5.2 保存点 124

4.5.3 事务和语句块 125

4.5.4 自治事务 126

4.6 小结 130

第5章 内置SQL函数 131

5.1 概述 131

5.2 返回字符值的字符函数 131

5.2.1 SUBSTR、SUBSTRB、SUBSTRC、SUBSTR2和SUBSTR4 133

5.2.2 SOUNDEX 134

5.3 返回数字值的字符函数 135

5.3.1 INSTR、INSTRB、INSTRC、INSTR2和INSTR4 136

5.3.2 LENGTH、LENGTHB、LENGTHC、LENGTH2和LENGTH4 137

5.4 NLS函数 138

5.5 数字函数 139

5.6 日期和时间函数 142

5.7 转换函数 145

5.7.1 TO_CHAR(日期和日期时间) 147

5.7.2 TO_CHAR(数字) 149

5.7.3 TO_DATE 151

5.7.4 TO_NUMBER 151

5.7.5 TO_TIMESTAMP和TO_TIMESTAMP_TZ 151

5.8 聚集和分析函数 152

5.9 其他函数 154

5.9.1 DUMP 156

5.9.2 USERENV 157

5.10 小结 158

第6章 游标 159

6.1 什么是游标 159

6.1.1 处理显示游标 160

6.1.2 处理隐式游标 167

6.2 游标检索循环 168

6.2.1 简单循环 168

6.2.2 WHILE循环 170

6.2.3 游标FOR循环 171

6.2.4 NO_DATA_FOUND与%NOTFOUND 173

6.2.5 SELECT FOR UPDATE游标 173

6.3 游标变量 177

6.3.1 声明游标变量 177

6.3.2 为游标变量分配存储空间 178

6.3.3 为查询打开游标变量 179

6.3.4 关闭游标变量 180

6.3.5 游标变量范例一 180

6.3.6 游标变量范例二 182

6.3.7 使用游标变量的限制 183

6.4 小结 184

第7章 错误处理 185

7.1 什么是异常 185

7.1.1 声明异常 187

7.1.2 抛出异常 190

7.1.3 处理异常 191

7.1.4 EXCEPTION_INIT编译指示 196

7.1.5 使用RAISE_APPLICATION_ERROR 197

7.2 异常传播 200

7.2.1 可执行部分产生的异常 200

7.2.2 在声明部分出现的异常 203

7.2.3 在异常部分产生的异常 204

7.3 异常准则 205

7.3.1 异常的作用域 206

7.3.2 避免未处理异常 207

7.3.3 指定错误位置 207

7.4 通用错误处理器 208

7.5 小结 216

第8章 集合 217

8.1 声明和使用集合类型 217

8.1.1 index-by表 217

8.1.2 嵌套表 221

8.1.3 可变数组 224

8.1.4 多层集合 227

8.1.5 集合类型之间的比较 228

8.2 数据库中的集合 229

8.2.1 存储集合的隐含式 229

8.2.2 操作整个集合 232

8.2.3 操作单个集合元素 238

8.3 集合方法 243

8.3.1 EXISTS 244

8.3.2 COUNT 246

8.3.3 LIMIT 246

8.3.4 FIRST和LAST 247

8.3.5 NEXT和PRIOR 247

8.3.6 EXTEND 248

8.3.7 TRIM 251

8.3.8 DELETE 252

8.4 小结 254

第三部分 更多PL/SQL特性 255

第9章 创建过程、函数和包 255

9.1 过程与函数 255

9.1.1 创建子程序 256

9.1.2 子程序参数 260

9.1.3 CALL语句 277

9.1.4 过程与函数 279

9.2 包 279

9.2.1 包的说明 279

9.2.2 包体 280

9.2.3 包和范围 282

9.2.4 重载封装子程序 285

9.2.5 包的初始化 288

9.3 小结 289

第10章 使用过程、函数和包 290

10.1 子程序位置 290

10.1.1 存储子程序和数据字典 290

10.1.2 局部子程序 292

10.1.3 存储子程序与局部子程序 297

10.2 存储子程序和包的考虑事项 298

10.2.1 子程序依赖性 298

10.2.2 包运行时状态 307

10.2.3 特权和存储子程序 312

10.3 在SQL语句中使用存储函数 321

10.3.1 纯度等级 321

10.3.2 缺省参数 327

10.3.3 在Oracle8i中从SQL调用存储函数 327

10.4 在共享池中的锁定 330

10.4.1 KEEP 330

10.4.2 UNKEEP 331

10.4.3 SIZES 331

10.4.4 ABORTED_REQUEST_THRESHOLD 331

10.5 小结 331

第11章 数据库触发器 332

11.1 触发器的类型 332

11.2 创建触发器 335

11.2.1 创建DML触发器 335

11.2.2 创建Instead-Of触发器 343

11.2.3 创建系统触发器 349

11.2.4 其他触发器问题 354

11.2.5 触发器和数据字典 358

11.3 变异表 359

11.3.1 变异表的例子 361

11.3.2 变异表错误的解决 362

11.4 小结 364

第12章 高级特性 365

12.1 语言特性 365

12.1.1 外部例程 365

12.1.2 本地动态SQL 367

12.1.3 成批绑定 372

12.1.4 对象类型 380

12.1.5 大对象 384

12.1.6 管道化表函数 386

12.2 高级包 387

12.2.1 DBMS_SQL 387

12.2.2 DBMS_PIPE 388

12.2.3 DBMS_ALERT 390

12.2.4 UTL_FILE 391

12.2.5 UTL_TCP 392

12.2.6 UTL_SMTP 392

12.2.7 UTL_HTTP 393

12.2.8 UTL_INADDR 394

12.2.9 DBMS_JOB 394

12.2.10 DMBS_LOB 395

12.3 小结 399

附录 401

附录A 包指南 401

附录B PL/SQL保留字 414

附录C 数据字典 417