图书介绍

Oracle9i PL/SQL从入门到精通2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Oracle9i PL/SQL从入门到精通
  • 谈竹贤等编著 著
  • 出版社: 北京:中国水利水电出版社
  • ISBN:7508410556
  • 出版时间:2002
  • 标注页数:613页
  • 文件大小:29MB
  • 文件页数:635页
  • 主题词:Oracle

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Oracle9i PL/SQL从入门到精通PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 PL/SQL简介1

1.1 什么是PL/SQL1

1.2.2 变量和类型2

1.2.1 块结构2

1.2 PL/SQL功能特性2

1.2.5 过程和函数3

1.2.4 游标3

1.2.3 程序控制结构3

1.2.10 内置包4

1.2.9 集合4

1.2.6 包4

1.2.7 动态SQL4

1.2.8 对象类型4

1.3 Oracle 9i的 PL/SQL新特性5

1.4 使用SQL*Plus6

1.5 使用SQL*Plus Worksheet10

1.7 练习11

1.6 小结11

2.1.1 PL/SQL块的类型12

2.1 PL/SQL程序结构12

第2章 PL/SQL基础12

2.1.2 PL/SQL块的结构15

2.1.3 词法单位17

2.2 变量声明24

作用域和可见性26

2.3 PL/SQL变量类型28

2.3.1 数字型29

2.3.2 字符型31

2.3.3 国际化字符类型34

2.3.4 LOB(大型对象)类型36

2.3.5 布尔(BOOLEAN)类型37

2.3.6 日期和时间间隔(Datetime和Interval)类型38

2.3.9 用户自定义类型41

2.3.8 引用类型41

2.3.7 复合类型41

2.4.2 隐式转换(Implicit Conversion)43

2.4.1 显式转换(Explicit Conversion)43

2.4 数据类型转换43

2.5.1 运算符的优先级45

2.5 PL/SQL表达式45

2.4.3 隐式转换和显式转换的比较45

2.5.2 字符表达式46

2.5.3 布尔表达式47

2.5.4 CASE表达式48

2.5.5 在比较和条件语句中处理NULL值50

2.6.1 算术运算符52

2.6 PL/SQL运算符52

2.6.2 逻辑运算符53

2.6.3 比较运算符55

2.6.5 用户自定义运算符57

2.6.4 字符串运算符57

2.8 练习58

2.7 小结58

3.1 表59

第3章 表和记录59

3.2.1 记录的定义61

3.2.2 记录赋值63

3.3.1 使用%TYPE类型65

3.3 %TYPE和%ROWTYPE65

3.3.2 使用%ROWTYPE类型66

3.4.2 ROWID伪列68

3.4.1 CURRVAL和NEXTVAL伪列68

3.4 伪列68

3.6 练习69

3.5 小结69

3.4.3 ROWNUM伪列69

4.1.1 IF-THEN语旬70

4.1 条件控制70

第4章 PL/SQL控制结构70

4.1.2 IF-THEN-ELSE语句71

4.1.3 IF-THEN-ELSIF语句72

4.1.4 CASE语句73

4.1.5 搜索CASE语句75

4.1.6 条件语句使用指导76

4.2.1 LOOP循环78

4.2 循环结构78

4.2.2 WHILE-LOOP循环80

4.2.3 FOR循环81

4.3 顺序结构87

4.2.4 循环语句使用指导87

4.3.1 GOTO语句88

4.3.2 NULL语句91

4.4 小结92

4.5 练习93

5.1 SQL基本命令分类94

第5章 SQL基本命令94

5.2 数据定义语言(DDL)96

5.3.1 INSERT语句98

5.3.2 SELECT语句99

5.3.4 DELETE语句101

5.3.3 UPDATE语句101

5.3.5 LOCK TABLE命令102

5.4.1 SET TRANSACTION103

5.4 事务控制命令103

5.5 会话控制命令104

5.4.3 SAVE POINT104

5.4.2 COMMIT与ROLLBACK104

5.5.2 SET ROLE命令105

5.5.1 ALTER SESSION命令105

5.6 系统控制命令106

5.7 小结107

5.8 练习108

6.1 错误报告(Error Reporting)函数109

第6章 Oracle内置SQL函数109

6.2 数值(Number)函数110

6.2.1 BITAND111

6.2.6 TRUNC112

6.2.5 ROUND112

6.2.2 CEIL112

6.2.3 FLOOR112

6.2.4 SIGN112

6.3.1 CONCAT113

6.3 字符(Character)函数113

6.3.3 LPAD114

6.3.2 INSTR114

6.3.7 NLS_UPPER115

6.3.6 NLS-LOWER115

6.3.4 LTRIM115

6.3.5 NLS_INITCAP115

6.3 10 SOUNDEX116

6.3.9 REPLACE116

6.3.8 NLSSORT116

6.3.12 TRANSLATE117

6.3.11 SUBSTR117

6.4 转换(Conversion)函数118

6.3.13 TRIM118

6.4.2 TO_CHAR119

6.4.1 CONVERT119

6.4.4 TO_DATE122

6.4.3 TO_CLOB122

6.5 日期(Date)函数123

6.4.7 TO_ NUMBER123

6.4.5 STO_MULTI_BYTE123

6.4.6 TO_SINGLE_BYTE123

6.5.1 SYSDATE函数124

6.5.4 CURRENT_TIMESTAMP函数125

6.5.3 CURRENT_DATE函数125

6.5.2 ADD_MONTHS函数125

6.5.8 LOCALTIMESTAMP函数126

6.5.7 FROM_TZ函数126

6.5.5 DBTIMEZONE函数126

6.5.6 EXTRACT函数126

6.5.10 NEW_TIME函数127

6.5.9 MONTHS_BETWEEN函数127

6.5.12 NUMTODSINTERVAL函数128

6.5.11 NEXT_DAY函数128

6.5.15 SESSIONTIMEZONE函数129

6.5.14 ROUND函数129

6.5.13 NUMTOYMINTERVAL函数129

6.5.19 TO_TIMESTAMP_TZ函数130

6.5.18 TO_TIMESTAMP函数130

6.5.17 TO_DSINTERVAL函数130

6.6 分组(Group)函数131

6.5.22 TRUNC函数131

6.5.20 TO_YMINTERVAL函数131

6.5.21 TZ_OFFSET函数131

6.6.2 VARIANCE函数132

6.6.1 STDDEV函数132

6.7.1 DECODE函数133

6.7 杂项(Misc)函数133

6.7.3 GREATEST函数134

6.7.2 DUMP函数134

6.7.5 NVL函数135

6.7.4 LEAST函数135

6.9 练习136

6.8 小结136

7.1 使用过程137

第7章 过程与函数137

7.1.1 创建过程138

7.1.2 调用过程141

7.2 使用函数143

7.1.4 删除过程143

7.1.3 重新编译过程143

7.2.1 函数的定义144

7.2.3 调用函数146

7.3 子程序147

7.2.4 删除函数147

7.3.1 内置子程序148

7.3.2 本地子程序149

7.4 递归152

7.6 练习153

7.5 小结153

8.2 包的规范与创建154

8.1 包的概念154

第8章 包154

8.2.1 使用包的优势157

8.2.3 理解包体158

8.2.2 理解包规范158

8.3 包的调用165

8.4.1 包的重新编译169

8.4 包的重新编译和重载169

8.4.2 包的重载170

8.6 练习171

8.5 小结171

9.1 什么是异常172

第9章 异常处理172

9.2 PL/SQL预定义异常174

9.3 PL/SQL的异常处理结构176

9.3.2 异常的传播178

9.4.1 声明异常185

9.4 自定义异常185

9.4.2 使用编译指令EXCEPTION_INIT186

9.4.3 使用RAISE_APPLICATION_ERROR187

9.4.4 使用错误函数SQLCODE和SQLERRM189

9.5 小结192

9.6 练习193

10.2.1 声明游标194

10.2 显式游标194

第10章 游标194

10.1 什么是游标194

10.2.2 打开游标(OPEN CURSOR)196

10.2.3 提取游标(FETCH CURSOR)197

10.2.4 关闭游标(CLOSE CURSOR)198

10.2.5 显式游标的属性199

10.2.7 在包中使用游标202

10.2.6 在游标中使用子查询202

10.3 隐式游标203

10.4.1 基本循环(LOOP..END LOOP)205

10.4 游标提取循环205

10.4.3 FOR循环(CURSOR FOR LOOP)207

10.4.2 WHILE循环207

10.4.4 SELECT FOR UPDATE游标208

10.5 游标变量211

10.5.1 声明游标变量212

10.5.2 控制游标变量213

10.6 小结219

10.5.3 使用游标变量的限制219

10.7 练习220

11.1 触发器221

第11章 触发器221

11.2 DML触发器222

11.2.1 创建DML触发器223

11.2.2 访问行触发器中的列值224

11.3 使用DML触发器225

11.2.3 条件谓词225

11.3.1 维护数据完整性226

11.3.2 维护修改的历史日志230

11.4 系统触发器232

11.4.2 事件属性233

11.4.1 创建系统触发器233

11.4.3 系统触发器的例子234

11.5.1 替代触发器的创建237

11.5 替代触发器237

11.5.2 替代触发器的编写238

11.6.2 触发器和处理远程的例外240

11.6.1 在触发器体的错误条件和例外240

11.5.3 视图所包括的嵌套表上的列的触发器240

11.6 触发器的例外240

11.7 小结241

11.8 练习242

12.1 事务管理243

第12章 事务管理和锁定243

12.1.2 ROLLBACK(回滚)244

12.1.1 COMMIT(提交)244

12.1.3 SAVEPOINT(保存点)245

12.1.4 SET TRANSACTION247

12.2 锁定249

12.1.6 RELEASE249

12.1.5 分布式事务的管理249

12.2.1 表锁定250

12.2.3 显式的锁定251

12.2.2 锁定记录251

12.2.5 DBMS_LOCK包252

12.2.4 其他的锁定252

12.4 练习255

12.3 小结255

第13章 集合256

13.1 集合概述256

13.2 索引表257

13.2.2 向索引表中插入数据258

13.2.1 定义索引表258

13.2.3 引用索引表的值261

13.3.1 声明嵌套表263

13.3 嵌套表263

13.3.2 嵌套表的初始化和赋值264

13.3.3 数据库中的嵌套表267

13.4.1 定义变长数组270

13.4 变长数组270

13.4.2 初始化变长数组271

13.5.1 EXISTS方法272

13.5 使用集合方法272

13.4.3 数据库中的数组272

13.5.2 COUNT方法273

13.5.3 LIMIT方法274

13.5.6 EXTED方法275

13.5.5 PRIOR和NEXT方法275

13.5.4 FIRST和LAST方法275

13.5.7 DELETE和TRIM方法277

13.5.8 把方法用于集合参数280

13.6 集合的异常处理281

13.7 批联编283

13.7.1 使用FORALL语句284

13.7.2 使用BULK COLLECT289

13.9 练习293

13.8 小结293

14.1.1 对象(Object)294

14.1 面向对象的基本概念294

第14章 PL/SQL对象类型294

14.1.2 类(Class)295

14.1.3 继承(Inheritance)296

14.2.1 为什么使用对象297

14.2 对象类型297

14.1.4 多态性297

14.2.3 对象类型的组成298

14.2.2 对象类型的结构298

14.3.1 对象类型的定义299

14.3 定义对象类型299

14.3.2 SELF参数303

14.3.3 PL/SQL的继承304

14.3.4 更改和删除对象类型305

14.4.1 声明对象307

14.4 声明并初始化对象307

14.4.2 构造函数与初始化对象308

14.5.1 存取属性310

14.5 对象的使用310

14.5.2 调用构造函数312

14.5.3 调用方法313

14.6 按列存储对象314

14.7.1 创建对象表317

14.7 对象表317

14.7.3 检索对象表中的对象318

14.7.2 向对象表中添加对象318

14.7.4 更新对象表320

14.7.5 删除对象表的对象321

14.8.1 引用322

14.8 共享对象322

14.8.2 REF和DEREF函数324

14.8.3 前期类型定义325

14.9.1 MAP方法326

14.9 比较对象326

14.9.2 ORDER方法327

14.10 小结329

14.9.3 指导要点329

14.11 练习330

15.1 调试语法错误331

第15章 跟踪和调试331

15.2 调试逻辑错误335

15.2.1 逻辑错误例子336

15.2.2 逻辑错误解决337

15.3.1 在程序中插入调试用表339

15.3 使用工具调试程序339

15.3.2 DBMS-OUTPUT包345

15.4 程序的规划与代码编写348

15.4.2 编制代码349

15.4.1 程序结构的规划349

15.6 练习350

15.5 小结350

15.4.3 格式化代码350

16.1 什么是动态SQL352

第16章 本机动态SQL352

16.3 使用EXECUTE IMMEDIATE语句353

16.2 动态SQL的两种方法353

16.3.1 执行DDL354

16.3.3 绑定变量355

16.3.2 执行PL/SQL块355

16.4 使用OPEN-FOR、FETCH和CLOSE语句358

16.5 使用批动态SQL360

16.5.1 批EXECUTE IMMEDIATE361

16.5.2 批FETCH362

16.5.3 批FORALL363

16.6.2 使用重复的占位符365

16.6.1 改进性能365

16.6 动态SQL的技巧365

16.6.3 使用游标属性366

16.6.5 远程操作367

16.6.4 传递Null参数367

16.6.6 使用调用者特权368

16.8 练习369

16.7 小结369

16.6.7 避免死锁369

17.1 DBMS_OUTPUT包370

第17章 输入与输出370

17.1.2 启用DBMS_OUTPUT包371

17.1.1 使用DBMS_OUTPUT包371

17.1.4 将数据写到缓冲区372

17.1.3 关闭DBMS_OUTPUT包372

17.1.6 应用举例373

17.1.5 从缓冲区中读取数据373

17.2.1 安全性378

17.2 UTL_FILE包378

17.2.2 使用UTL_FILE包函数与文件I/O步骤379

17.2.4 文件的打开与关闭380

17.2.3 UTL_FILE引发的异常380

17.2.5 文件输出382

17.4 练习386

17.3 小结386

17.2.6 文件输入386

第18章 会话间通信387

18.1 DBMS_SESSION388

18.1.3 CLEAR_CONTEXT389

18.1.2 SET_CONTEXT389

18.1.1 SET_IDENTIFIER389

18.1.7 SET_NLS390

18.1.6 SET_SQL_TRACE390

18.1.4 CLEAR_IDENTIFIER390

18.1.5 SET_ROLE390

18.1.10 UNIQUE_SESSION_ID函数391

18.1.9 RESET_PACKAGE391

18.1.8 CLOSE_DATABASE_LINK391

18.1.14 FREE_UNUSED_USER_MEMORY392

18.1.13 SET_CLOSE_CACHED_OPEN_CURSORS392

18.1.11 IS_ROLE_ENABLED函数392

18.1.12 IS_SESSION_ALIVE函数392

18.1.15 LIST_CONTEXT394

18.1.16 SWITCH_CURRENT_CONSUMER_GROUP395

18.2 DBMS_ALERT396

18.2.3 报警使用机制397

18.2.2 常见错误397

18.2.1 包DBMS_ALERT中常量的定义397

18.2.5 DBMS_ALERT子程序的概述398

18.2.4 检查报警398

18.3 DBMS_PIPE401

18.3.1 公有管道和私有管道403

18.3.2 DBMS_PIPE子程序的概述405

18.5 练习422

18.4 小结422

19.1 高级队列简介424

第19章 高级队列424

19.1.4 队列监视428

19.1.3 传播特征428

19.1.1 异步消息通知428

19.1.2 监听功能428

19.2.1 为负载定义一个类型429

19.2 队列使用429

19.2.2 CREATE_QUEUE_TABLE430

19.2.4 DROP_QUEUE_TABLE432

19.2.3 ALTER_QUEUE_TABLE432

19.2.5 CREATE-QUEUE433

19.2.7 ALTER_QUEUE434

19.2.6 CREATE_NP_QUEUE434

19.2.11 ENQUEUE435

19.2.10 STOP_QUEUE435

19.2.8 DROP_QUEUE435

19.2.9 START_QUEUE435

19.2.12 DEQUEUE436

19.2.13 Message Properties438

19.2.15 AQ$_AGENT对象类型439

19.2.14 记录ENQUEUE_OPTIONS_T439

19.2.17 Dequeue Options Type440

19.2.16 AQ$_RECIPIENT_LIST_T对象类型440

19.3.1 GRANT_SYSTEM_PRIVILEGE441

19.3 其他AQ过程441

19.3.4 REVOKE_QUEUE_PRIVILEGE442

19.3.3 GRANT_QUEUE_PRIVILEGE442

19.3.2 REVOKE_SYSTEM_PRIVILEGE442

19.4 AQ中级知识443

19.4.4 AQ执行发布/订阅444

19.4.3 接收者列表444

19.4.1 订阅者列表和接收者列表444

19.4.2 订阅者列表444

19.4.5 AQ Recipient List Type(接收者列表数据类型)445

19.4.10 LISTEN过程446

19.4.9 AQ Registration Info List Type446

19.4.6 AQ Agent List Type(代理列表类型)446

19.4.7 AQ Subscriber List Type(订阅者列表类型)446

19.4.8 AQ Registration Info Type(AQ注册信息类型)446

19.4.11 REGISTER过程447

19.4.14 ALTER_SUBSCRIBER过程448

19.4.13 ADD_SUBSCRIBER过程448

19.4.12 UNREGISTER过程448

19.4.16 SCHEDULE_PROPAGATION过程449

19.4.15 REMOVE_SUBSCRIBER过程449

19.4.18 VERIFY_QUEUE_TYPES过程450

19.4.17 UNSCHEDULE_PROPAGATION过程450

19.5.1 创建队列表和队列451

19.5 AQ实例451

19.4.19 ALTER_PROPAGATION_SCHEDULE过程451

19.4.20 ENABLE_PROPAGATION_SCHEDULE过程451

19.4.21 DISABLE_PROPAGATION_SCHEDULE过程451

19.5.2 消息入队出队452

19.5.3 消息传播463

19.6 小结465

19.5.4 删除AQ对象465

19.7 练习466

20.1 如何运行作业467

第20章 数据库作业管理467

20.2.1 DBMS_JOB包469

20.2 管理作业队列469

20.2.2 作业环境(Job Environment)476

20.2.3 作业的导入导出(Import/Export)477

20.4 练习482

20.3 小结482

21.1.1 什么是大型对象483

21.1 大型对象类型概述483

第21章 大型对象483

21.1.2 大型对象数据类型484

21.1.3 可变宽度(Varying-Width)字符数据485

21.1.4 大型对象值和定位器486

21.1.5 创建包含大型对象的表488

21.2 Oracle 9i中大型对象的新特征490

21.3.1 DBMS_LOB包函数/过程介绍491

21.3 用PL/SQL的DBMS_上OB包491

21.3.3 DBMS_LOB包的数据类型,常数及异常493

21.3.2 DBMS_LOB包的大型对象定位器493

21.3.4 DBMS_LOB包的规则和限制494

21.4.2 打开BFILE498

21.4.1 创建目录对象498

21.4 使用外部大型对象BFILE498

21.4.4 函数FILEEXISTS499

21.4.3 函数FILEISOPEN499

21.4.6 获得文件信息500

21.4.5 关闭文件的过程500

21.4.7 读文件操作501

21.4.8 比较两个文件内容502

21.4.9 INSTR函数503

21.5 使用外部大型对象BFILE的范例504

21.4.10 SUBSTR函数504

21.6 使用内部大型对象506

21.6.2 COMPARE函数507

21.6.1 APPEMD过程507

21.6.3 COPY过程508

21.6.5 ERASE过程510

21.6.4 EMPTY_BLOB和EMPTY_CLOB函数510

21.6.7 INSTR函数511

21.6.6 GETLENGTH函数511

21.6.8 READ过程512

21.6.9 SUBSTR函数513

21.6.10 TRIM过程515

21.6 11 WRITE过程515

21.6.12 WRITEAPPEND过程516

21.7 使用内部大型对象的范例517

21.7.1 向内部LOB拷贝数据518

21.7.3 分析内部LOB内容520

21.7.4 编辑内部LOB对象522

21.8 临时大型对象523

21.8.1 临时大型对象概述523

21.8.2 临时大型对象的使用524

21.9.1 LONG与LOB数据类型的比较526

21.9 LONG与LOB数据类型526

21.9.2 LONG与LOB数据类型的转换527

21.10 小结528

21.11 练习528

第22章 开发Web应用程序529

22.1 PL/SQL Web应用程序概念529

21.7.2 向内部LOB中添加数据529

22.1.1 使用PL/SQL存储过程和函数530

22.1.2 PL/SQL Server Pages530

22.2.1 安装Oracle HTTP Server531

22.2 设置和检验PL/SQL服务器页531

22.2.2 创建一个PSP文件531

22.1.3 为XML启用PL/SQL Web应用程序531

22.2.3 将PSP文件导入到数据库532

22.2.4 设置Oracle HTTP Server532

22.2.5 从浏览器中调用PSP533

22.3.1 从HTML表单中传递列表框或微调框参数534

22.3.2 从HTML表单中传递单选按钮或复选框参数534

22.3 PL/SQL Web应用程序的参数传递534

22.3.3 从HTML表单传递输入域参数535

22.3.5 提交一张完整的HTML表单537

22.3.6 从HTML表单中处理丢失的输入537

22.3.4 从HTML表单中传递隐藏参数的值537

22.4 在PL/SQL存储过程中执行网络操作538

22.4.1 从PL/SQL中发送邮件538

22.3.7 在网页之间维护状态信息538

22.4.3 在PL/SQL中操作TCP/IP连接539

22.4.4 从PL/SQL中检索一个HTTP URL的内容539

22.4.2 从PL/SQL中得到一个主机名或地址539

22.4.5 操作表格、图像、Cookies和CGI变量542

22.5 PL/SQL Server Pages542

22.5.1 选择一个软件配置543

22.5.2 为PL/SQL服务器页编写代码和内容543

22.5.3 把PL/SQL服务器页装载到数据库存储过程549

22.6 PL/SQL Server Pages实例550

22.6.1 一次性显示表的内容551

22.6.2 使用循环打印表的内容551

22.6.3 用户选择552

22.6.4 调用PL/SQL服务器页的HTML表单554

22.6.5 在PSP文件中包含JavaScript554

22.6.6 调试PL/SQL Server Pages556

22.6.7 将PSP应用程序加入产品557

22.8 练习558

第23章 调整PL/SQL应用程序559

23.1 PL/SQL性能问题的原因559

23.2 识别PL/SQL性能问题563

23.2.1 剖析API:DBMS_PROFILER包563

23.2.2 跟踪API:DBMS_TRACE包564

23.3 性能调整的PL/SQL特征564

23.3.1 通过本机动态SQL改进PL/SQL性能565

23.3.2 通过批联编提高PL/SQL性能565

23.3.4 使用RETURNING子句提高PL/SQL性能566

23.3.5 使用外部程序提高PL/SQL性能566

23.3.3 使用NOCOPY编译器提示来提高PL/SQL性能566

23.3.6 使用对象类型和集合来提高PL/SQL性能567

23.3.7 编译PL/SQL代码以便于本地执行567

23.4 小结569

附录一 PL/SQL保留字570

附录二 部分练习答案572

附录三 部分表结构584

附录四 SQL*Plus的使用589

F4.1 启动SQL*Plus589

F4.2 输入和执行命令590

F4.3 编辑SQL命令593

F4.4 创建和修改命令文件596

F4.5 环境变量的设置和保存598

F4.6 编写交互命令599

F4.7 格式化查询结果602

热门推荐