《Oracle8 PL/SQL程序设计》求取 ⇩

前言1

第1章PL/SQL简介1

1.1 为什么使用PL/SQL1

贺辞1

1.1.1客户-服务器模式2

1.1.2 标准3

1.2 PL/SQL的功能特性3

1.2.1 块结构3

1.2.2 变量和类型5

1.2.3 循环结构6

1.3 本书使用的约定7

1.3.1 PL/SQL和Oracle版本7

1.3.3 在线代码8

1.3.2 Oracle文档8

1.4 示例样表9

1.5 小结15

第2章PL/SQL基础16

2.1 PL/SQL块16

2.2 词法单位20

2.2.1 标识符21

2.2.2 分界符23

2.2.3 文字24

2.2.4 注释25

2.3 变量声明26

2.3.1 声明语法27

2.4 PL/SQL类型28

2.3.2 变量初始化28

2.4.1 标量类型(Scalar Type)29

2.4.2 复合类型33

2.4.3 引用类型33

2.4.4 LOB类型34

2.4.5 使用%TYPE34

2.4.6 用户定义子类型35

2.4.7 在数据类型之间进行转换35

2.4.8 变量作用域和可见性37

2.5 表达式和运算符39

2.5.1 赋值39

2.5.2 表达式39

2.6.1 IF-TIIEN-ELSE42

2.6 PL/SQL控制结构42

2.6.2 循环45

2.6.3 GOTO和标号49

2.6.4 pragma51

2.7 PL/SQL风格指南52

2.7.1 注释风格52

2.7.2 变量名风格53

2.7.3 大写风格53

2.7.4 缩进风格54

2.7.5 常见风格54

2.8 小结54

第3章记录和表55

3.1 PL/SQL记录55

3.1.1 记录赋值56

21.3.2 由DBMS LOB例程引发的异常情态57

3.1.2 使用%ROWTYPE57

3.2 表58

3.2.1 表和数组59

3.2.2 表属性61

3.2.3 使用PL/SQL表的指南64

3.3 小结64

第4章在PL/SQL中使用SQL65

4.1 SQL语句65

4.2 在PL/SQL中使用DML67

4.2.1 SELECT68

4.2.2 INSERT70

4.2.4 DELETE71

4.2.3 UPDATE71

4.2.5 WHERE子句72

4.2.6 表引用75

4.2.7 数据库链接75

4.2.8 替代名(Synonym)76

4.3 伪列76

4.3.3 ROWID77

4.3.1 CURRVAL和NEXTVAL77

4.3.2 LEVEL77

4.3.4 ROWNUM78

4.4 GRANT、REVOKE和权限78

4.4.1 对象和系统权限78

4.4.2 GRANT 和REVOKE79

4.4.3 角色80

4.5 事务控制81

4.5.1 COMMIT和ROLLBACK82

4.5.2 保存点83

4.5.3 事务和块84

4.6 小结84

第5章内置SQL函数85

5.1 前言85

5.2 字符函数——返回字符值85

5.2.3 INITCAP86

5.2.2 CONCAT86

5.2.1 CHR86

5.2.4 LOWER87

5.2.5 LPAD87

5.2.6 LTRIM88

5.2.7 NLS_INITCAP89

5.2.8 NLS_LOWER89

5.2.9 NLS_UPPER90

5.2.10 REPLACE90

5.2.11 RPAD91

5.2.12 RTRIM91

5.2.13 SOUNDEX92

5.2.14 SUBSTR93

5.2.15 SUBSTRB93

5.2.16 TRANSLATE94

5.2.17 UPPER94

5.3.2 INSTR95

5.3.1 ASCII95

5.3 字符函数——返回数字值95

5.3.3 INSTRB96

5.3.4 LENGTH97

5.3.5 LENGTHB97

5.3.6 NLSSORT97

5.4 数字函数98

5.4.1 ABS98

5.4.2 ACOS98

5.4.5 ATAN299

5.4.3 ASIN99

5.4.4 ATAN99

5.4.6 CEIL100

5.4.7 COS100

5.4.8 COSH101

5.4.9 EXP101

5.4.10 FLOOR101

5.4.13 MOD102

5.4.11 LN102

5.4.12 LOG102

5.4.16 SIGN103

5.4.14 POWER103

5.4.15 ROUND103

5.4.18 SINH104

5.4.17 SIN104

5.4.19 SQRT105

5.4.20 TAN105

5.4.21 TANH105

5.4.22 TRUNC106

5.5 日期函数106

5.5.1 ADD_MONTHS106

5.5.2 LAST_DAY107

5.5.3 MONTHS_BETWEEN107

5.5.4 NEW_TIME107

5.5.5 NEXT_DAY108

5.5.6 ROUND109

5.5.7 SYSDATE109

5.5.8 TRUNC110

5.5.9 日期算术111

5.6 转换函数111

5.6.1 CHARTOROWID111

5.6.2 CONVERT112

5.6.5 ROWIDTOCHAR113

5.6.3 HEXTORAW113

5.6.4 RAWIOHEX113

5.6.6 TO_CHAR(dates)114

5.6.8 TO_CHAR(mumbers)116

5.6.7 TO_CHAR(labels)116

5.6.9 TO_DATE118

5.6.10 TO_LABEL118

5.6.11 TO_MULTI_BYTE118

5.6.12 TO_NUMBER119

5.6.13 TO_SINGLE_BYTE119

5.7 分组函数119

5.7.1 AVG120

5.7.2 COUNT120

5.7.3 GLB121

5.7.4 LUB121

5.7.5 MAX121

5.7.8 SUM122

5.7.6 MIN122

5.7.7 STDDEV122

5.8.1 BFILENAME123

5.7.9 VARIANCE123

5.8 其他函数123

5.8.2 DECODE124

5.8.3 DUMP124

5.8.4 EMPTY CLOB/EMPTY_BLOB126

5.8.5 GREATEST126

5.8.6 GREATEST_LB127

5.8.8 LEAST_UB127

5.8.9 NVL127

5.8.7 LEAST127

5.8.10 UID128

5.8.11 USER128

5.8.12 USERENV129

5.8.13 VSIZE130

5.9 使用PL/SQL:将数字作为文本单字进行打印130

5.10 小结138

6.1 什么是游标?139

第6章游标139

6.1.1 处理显式游标140

6.1.2 处理隐式游标146

6.2 游标提取循环148

6.2.1 简单循环148

6.2.2 WHILE循环150

6.2.3 游标式FOR循环151

6.2.4 NO_DATA_FOUND和%NOTFOUND152

6.2.5 SELECT FOR UPDATE游标152

6.3 游标变量156

6.3.1 声明游标变量157

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

6.3.5 游标变量示例1159

6.3.3 打开查询的游标变量159

6.3.4 关闭游标变量159

6.3.6 游标变量示例2162

6.3.7 使用游标变量的限制163

6.4 小结164

第7章子程序:过程和函数165

7.1 创建过程和函数165

7.1.1 创建过程166

7.1.2 创建函数175

7.1.3 在子程序中进行异常处理178

7.1.4 删除过程和函数180

7.2 子程序位置180

72.1 内置子程序(StoredSubprogram)180

7.2.2 本地子程序182

7.3 子程序依赖性185

7.4 权限和内置子程序188

7.4.1 EXECUTE权限189

7.4.2 内置子程序和角色190

7.5 小结192

第8章193

8.1 包193

8.1.1 包规范(Package Specification)193

8.1.2 包主体(Package Body)194

8.1.3 包和作用域196

8.1.4 重载包装子程序197

8.1.5 包初始化199

8.1.6 包和相关性201

8.2 在SQL语句中使用内置函数203

8.2.1 纯度级别204

8.2.2 RESTRICT_REFERENCES206

8.2.3 缺省参数208

8.3 使用PL/SQL:PL/SQL数据模式输出程序208

8.4 小结217

第9章触发器218

9.1 创建触发器218

9.1.1 触发器组件219

9.1.2 触发器和数据字典222

9.1.3 触发器点火次序223

91.4 在行级触发器中使用:old和:new225

9.1.5 使用触发器谓词:INSERTING、UPDATING和DELETING227

9.2 变化表229

9.2.1 变化表示例230

9.2.2 消除变化表错误231

9.3 使用PL/SQL:实现级联更新234

9.3.1 实用程序的内容235

9.3.2 工作原理238

9.4 小结242

10.1 什么是异常情态243

第10章错误处理243

10.1.1 声明异常情态244

10.1.2 触发异常情态247

10.1.3 处理异常情态248

10.1.4 EXCEPTION INIT Pragma253

10.1.5 使用RAISE_APPLICATION ERROR254

10.2 异常情态传播256

10.2.1 在执行部分引发的异常情态256

10.2.2 在声明部分引发的异常情态259

10.2.3 在异常处理部分引发的异常情态S260

10.3 异常处理指南262

10.3.1 异常情态的作用域262

10.3.2 避免示处理的异常情态263

10.3.3 屏蔽错误发生的位置263

10.4 使用PL/SQL:常用错误处理模块265

10.5 小结273

第11章对象274

11.1 背景介绍274

11.1.1 面向对象程序设计基础274

11.1.2 对象关系型数据库275

11.2 对象类型276

11.2.1 定义对象类型276

11.2.2 声明和初始化对象278

11.2.3 方法280

11.2.4 更改和删除类型285

11.2.5 对象依赖性287

11.3 数据库中的对象288

11.3.1 对象位置288

11.3.2 在DML语句中使对象291

11.3.3 MAP和ORDER方法295

11.4 小结298

12.1 嵌套表299

第12章集合(Collections)299

12.1.1 声明嵌套表299

12.1.2 数据库中的嵌套表302

12.1.3 嵌套表和索引表305

12.2 Varrays306

12.2.1 声明Varray306

12.2.2 数据库中的Varray307

12.2.3 Varray和嵌套表309

12.3 集合方法310

12.3.1 EXISTS310

12.3.2 COUNT311

12.3.3 LIMIT312

12.3.4 FIRST和LAST312

12.3.5 NEXT和PRILOR312

12.3.6 EXTEND313

12.3.7 TRIM315

12.3.8 DELETE317

12.4 小结319

第13章PL/SQL执行环境320

13.1 不同的PL/SQL引擎320

13.2 服务器端PL/SQL323

13.2.1 SQL*Plus323

13.2.2 Oracle预编译器328

13.2.3 OCI332

13.2.4 SQL-Station335

13.3 客户端PL/SQL338

13.3.1 为什么提供客户端引擎339

13.3.2 Orade Forms340

13.3.3 Procedure Builder341

13.4 PL/SQL Wrapper343

13.4.1 运行Wrapper343

13.4.3 检查语法和语义344

13.4.2 输入和输出文件344

13.4.4 Wrapper使用指南345

13.5 小结345

第14章测试和调试346

14.1 问题诊断346

14.1.1 调试指南346

14.2 插入测试表347

14.3 DBMS_OUTPUT355

14.3.1 The DBMS_OUTPUT356

14.3.2 问题2359

14.4 PL/SQL调试器365

14.5 Procedure Builder365

14.6 SQL ⊿tation369

14.7 Procedure Builder和SQL-Station之间的比较374

14.8 程序设计方法375

14.8.1 模块化程序设计375

14.8.2 自顶向下设计376

14.8.3 数据抽象376

14.9 小结377

第15章动态PL/SQL378

15.1 前言378

15.1.1 静态与动态SQL378

15.1.2 DBMS_SQL概述379

15.2 执行非查询DML和DDL语句382

15.2.1 打开游标382

15.2.2 分析语句383

15.2.3 联编输入变量383

15.2.4 执行语句385

15.2.5 关闭游标386

15.2.6 示例386

15.2.7 执行DDL语句387

15.2.8 执行查询388

15.2.9 分析语句389

15.2.10 定义输出变量389

15.2.11 提取行391

15.2.12 将结果返回给PL/SQL变量392

15.2.13 示例394

15.3 执行PL/SQL396

15.3.1 分析语句396

15.3.2 检索输出变量的取值397

15.3.3 示例398

15.3.4 使用out_value_size400

15.4 使用PL/SQL:执行任意内置过程401

15.5.1 分析大型SQL串408

15.5 对PL/SQL8.0的DBMS_SQL增强408

15.5.2 DBMS_SQL数组处理410

15.5.3 描述选择列表414

15.6 其他过程417

15.6.1 提取LONG型数据417

15.6.2 其他的错误函数418

15.7 使用PL/SQL:将LONG变量写入FILE变量中419

15.8 权限和DBMS_SQL421

15.8.1 DBMS_SQL所需的权限421

15.8.2 角色和DBMS_SQL422

15.9 在DBMS_SQL和其他动态方法之间进行比较422

15.9.4 接口差异423

15.10 提示和技巧423

15.9.1 描述选择列表423

15.9.3 关于LONG型数据的单步操作423

15.9.2 数组处理423

15.10.2 权限424

15.10.3 DDL操作和挂起424

15.11 小结424

15.10.1 重用游标424

第16章会话间通信425

16.1 DBMS_PIPE425

16.1.1 发送信息429

16.1.2 接收消息430

16.1.3 创建和管理管道432

16.1.4 权限和安全性433

16.1.5 建立通信协议434

16.1.6 示例435

16.2 DBMS_ALERT436

16.2.1 发送警报442

16.2.2 接收警报442

16.2.3 其他过程444

16.2.4 警报和数据字典444

16.3 比较DBMS-919E和DBMS-A1ERT446

16.4 小结447

第17章Oracle高级排队机制448

17.1 前言448

17.1.1 Advanced Queuing的组件448

17.1.2 Advanced Queuing的实现450

17.2 队列操作451

17.2.1 支持类型451

17.2.2 ENQUEUE455

17.2.3 DEQUEUE455

17.3 队列管理456

17.3.1 DBMS_AQADM子程序456

17.3.2 队列权限462

17.3.3 队列和数据字典462

17.4.1 创建队列和队列表464

17.4 综合示例464

17.4.2 简单的Enqueue和Dequeue466

17.4.3 清除队列468

17.4.4 按优先级执行enqueue和dequeue469

17.4.5 按关联标识符或消息标识符执行enqueue和dequeue470

17.4.6 浏览队列473

17.4.7 使用异常情态队列475

17.4.8 删除队列478

17.5 小结478

第18章数据库作业和文件I/O479

18.1 数据库作业479

18.1.1 后台进程479

18.1.2 运行作业480

18.1.3 失效作业(Broken Jobs)483

18.1.7 作业执行环境484

18.1.4 删除作业484

18.1.5 修改作业484

18.1.6 查看数据字典中的作业484

18.2 文件I/O485

18.2.1 安全性485

18.2.2 由UTL FILE所引发的异常情态486

18.2.3 打开和关闭文件486

18.2.4 文件输出488

18.2.5 文件输入491

18.2.6 示例491

18.3 小结499

第19章Oracle 的WebServer程序500

19.1 WebServer环境500

19.1.1 PL/SQL代理501

19.1.2 指定过程参数502

19.2 PL/SQL Web工具箱504

19.2.1 HTP和HIF505

19.2.2 OWA UTIL517

19.2.3 OWA_IMAGE525

19.2.4 OWA_COOKIE527

19.3 用于OWA过程的开发环境530

19.3.1 OWA_UTIL.SHOWPAGE530

19.3.2 SQL-Station Coder531

19.4 小结532

第20章 外部过程533

20.1 什么是外部过程533

20.1.1 必需的步骤534

20.1.2 参数映射540

20.1.3 外部函数和包装过程546

20.2.1 服务例程548

20.2 数据库的回调548

20.3 提示、指南和限制552

20.3.1 调试外部过程552

20.2.2 在外部过程中执行SQL552

20.3.2 批南554

20.3.3 限制555

20.4 小结555

第21章大型对象556

21.1 什么是LOB556

21.1.1 LOB存储557

21.1.2 在DML中使用LOB558

21.2 操纵BFILE559

21.2.1 目录560

21.2.2 打开和关闭BFILE561

21.2.3 在DML中使用FBILE561

21.3 DBMS_LOB包563

21.3.1 DBMS LOB例程563

21.3.3 DBMS.LOB和OCI577

21.4 使用PL/SQL:将LONG型数据复制到LOB变量中579

21.5 小结581

第22章性能和调整582

22.1 共享池582

22.1.1 Oracle实例的结构582

22.1.2 共享池的工作原理585

22.1.3 估计共享池的大小586

22.1.4 插入对象588

22.2 SQL语句调整589

22.2.1 确定执行方案589

22.3 网络问题595

22.3.1 使用客户端PL/SQL595

22.2.2 使用方案595

22.3.2 避免不必要的重新分析596

22.3.3 数组处理596

22.4 小结596

附录A PL/SQL保留字597

附录B包使用指南600

B.1 创建包600

B.2 包说明601

附录C PL/SQL特性的字汇表615

附录D数据字典629

D.1 什么是数据字典629

D.2 All/User/DBA字典视图630

D.3 其他数据字典644

D.4 dbms alert_info644

D.5 dict_columns645

1998《Oracle8 PL/SQL程序设计》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)(S.尤曼)Scott Urman著;译友翻译组译 1998 北京:机械工业出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

程序设计(1985 PDF版)
程序设计
1985 上海:上海交通大学出版社
ADO.NET程序设计( PDF版)
ADO.NET程序设计
ORACLE9I PL/SQL PROGRAMMING( PDF版)
ORACLE9I PL/SQL PROGRAMMING
程序设计语言PL/I文本  IBM公司(1982 PDF版)
程序设计语言PL/I文本 IBM公司
1982
SQL*Plus和PL/SQL程序设计( PDF版)
SQL*Plus和PL/SQL程序设计
程序设计语言 PL/1( PDF版)
程序设计语言 PL/1
SQL Server2008数据库程序设计( PDF版)
SQL Server2008数据库程序设计
湖南信息职业技术学院
Oracle PL/SQL程序设计 下 第5版( PDF版)
Oracle PL/SQL程序设计 下 第5版
北京:人民邮电出版社
ORACLE 8 PL/SQL PROGRAMMING(1997 PDF版)
ORACLE 8 PL/SQL PROGRAMMING
1997 MCGRAW-HILL
ORACLE SQL※FORMS设计教程(1990 PDF版)
ORACLE SQL※FORMS设计教程
1990 国家统计局计算中心
PASCAL程序设计(1992 PDF版)
PASCAL程序设计
1992 西安:陕西科学技术出版社
程序设计  程序员级(1999 PDF版)
程序设计 程序员级
1999 北京:清华大学出版社
LISP程序设计(1983 PDF版)
LISP程序设计
1983 北京:清华大学出版社
PL/1程序设计语言导论(1986 PDF版)
PL/1程序设计语言导论
1986 北京:清华大学出版社
SQL Server 7.0程序设计 管理与应用篇(1999 PDF版)
SQL Server 7.0程序设计 管理与应用篇
1999 北京:中国铁道出版社