• Oracle PL/SQL程序设计 第6版(全2册)
21年品牌 40万+商家 超1.5亿件商品

Oracle PL/SQL程序设计 第6版(全2册)

全新正版 极速发货

130.2 6.5折 199.8 全新

库存2件

广东广州
认证卖家担保交易快速发货售后保障

作者(美)史蒂芬·弗伊尔斯坦,(美)比尔·普里比尔

出版社人民邮电出版社

ISBN9787115448750

出版时间2022-04

装帧平装

开本16开

定价199.8元

货号1202621908

上书时间2024-07-12

曲奇书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
(上)

第1部分 用PL/SQL编程

第1章 PL/SQL介绍3

1.1 什么是PL/SQL3

1.2 PL/SQL的起源4

1.2.1 早期的PL/SQL4

1.2.2 提高应用的可移植性4

1.2.3 提高执行权限控制和交易完整性5

1.2.4 低调开始,持续改进5

1.3 这就是PL/SQL6

1.3.1 与SQL的集成6

1.3.2 控制和条件逻辑7

1.3.3 出错处理8

1.4 关于PL/SQL版本9

1.4.1 Oracle数据库12c中PL/SQL的新特性10

1.5 可供PL/SQL开发者使用的资源12

1.5.1 O’Reilly的PL/SQL系列图书13

1.5.2 网络上的PL/SQL资源14

1.6 一些建议15

1.6.1 别急,慢慢来15

1.6.2 不要畏惧寻求帮助16

1.6.3 采用有创造性的甚至激进的方法17

第2章 创建和运行PL/SQL代码18

2.1 在数据库中导航18

2.2 创建和编辑源代码19

2.3 SQL*Plus19

2.3.1 启动SQL*Plus21

2.3.2 运行SQL语句22

2.3.3 运行PL/SQL程序22

2.3.4 运行一个脚本24

2.3.5 什么是“当前目录”24

2.3.6 其他SQL*Plus任务25

2.3.7 SQL*Plus中的异常处理29

2.3.8 为什么SQL*Plus让我们又爱又恨30

2.4 执行基本的PL/SQL任务30

2.4.1 创建存储程序31

2.4.2 执行存储的程序33

2.4.3 显示存储程序34

2.4.4 存储程序的授权和别名35

2.4.5 删除一个存储程序36

2.4.6 隐藏存储程序的源代码36

2.5 编辑PL/SQL的环境37

2.6 从其他语言中调用PL/SQL37

2.6.1 C语言,使用Oracle预编辑器(Pro*C)38

2.6.2 Java:使用JDBC39

2.6.3 Perl:使用Perl DBI和DBD::Oracle40

2.6.4 PHP:使用Oracle扩展41

2.6.5 PL/SQL Server Pages42

2.6.6 其他43

第3章 语言基础44

3.1 PL/SQL块结构44

3.1.1 匿名块46

3.1.2 命名块47

3.1.3 嵌套块47

3.1.4 作用范围48

3.1.5 规范SQL语句中对变量和列的引用49

3.1.6 可见性51

3.2 PL/SQL字符集54

3.3 标识符56

3.3.1 保留字57

3.3.2 空白和关键字58

3.4 直接量59

3.4.1 NULL60

3.4.2 在一个直接量字符串中嵌入

单引号61

3.4.3 数字直接量61

3.4.4 布尔直接量62

3.5 分号分隔符62

3.6 注释63

3.6.1 单行注释语法63

3.6.2 多行注释语法63

3.7 PRAGMA关键字64

3.8 标签65

第2部分 PL/SQL程序结构

第4章 条件与顺序控制69

4.1 IF语句69

4.1.1 IF-THEN组合69

4.1.2 IF-THEN-ELSE的组合71

4.1.3 IF-THEN-ELSIF组合73

4.1.4 避免IF语法陷阱73

4.1.5 嵌套的IF语句75

4.1.6 短路估算75

4.2 CASE语句和表达式77

4.2.1 简单的CASE语句77

4.2.2 搜索CASE语句79

4.2.3 嵌套CASE语句81

4.2.4 CASE表达式81

4.3 GOTO语句83

4.4 NULL语句84

4.4.1 提高程序的可读性84

4.4.2 在标签后使用NULL84

第5章 循环迭代处理86

5.1 循环的基础知识86

5.1.1 不同循环的示例86

5.1.2 PL/SQL循环的结构88

5.2 简单循环89

5.2.1 终止简单循环:EXIT

和EXIT WHEN89

5.2.2 模仿REPEAT UNTIL循环90

5.2.3 故意的无限循环91

5.3 WHILE循环92

5.4 数值型FOR循环93

5.4.1 数值型FOR循环的规则94

5.4.2 数值型FOR循环的示例94

5.4.3 处理特殊增量95

5.5 游标FOR循环96

5.5.1 游标FOR循环的示例97

5.6 循环标签98

5.7 CONTINUE语句99

5.8 迭代处理技巧102

5.8.1 为循环索引使用可理解的

名称102

5.8.2 以正确的方式说再见102

5.8.3 获取FOR循环执行的信息103

5.8.4 循环SQL语句104

第6章 异常处理106

6.1 异常处理概念和术语106

6.2 定义异常108

6.2.1 声明命名异常108

6.2.2 关联异常名称与错误代码109

6.2.3 命名的系统异常112

6.2.4 异常作用范围114

6.3 引发异常115

6.3.1 RAISE语句115

6.3.2 使用RAISE_APPLICATION_

ERROR116

6.4 处理异常117

6.4.1 内置错误函数118

6.4.2 单一处理句柄中结合多个

异常122

6.4.3 未处理异常123

6.4.4 未处理异常的传播123

6.4.5 继续过去的异常125

6.4.6 编写WHEN OTHERS处理

代码127

6.5 构建有效的错误管理架构129

6.5.1 确定我们的异常管理策略129

6.5.2 对不同类型异常进行标准化

处理130

6.5.3 程序特定错误代码的组织

使用133

6.5.4 使用标准的错误管理程序133

6.5.5 使用自己的异常“对象”135

6.5.6 创建常见错误处理的标准

模板137

6.6 充分利用PL/SQL错误

管理138

第3部分 PL/SQL程序数据

第7章 使用程序数据141

7.1 程序数据的命名141

7.2 PL/SQL数据类型概述143

7.2.1 字符数据143

7.2.2 数字144

7.2.3 日期、时间戳和时间间隔145

7.2.4 布尔类型145

7.2.5 二进制数据类型146

7.2.6 ROWID146

7.2.7 REF CURSOR146

7.2.8 Internet数据类型147

7.2.9 “Any”数据类型147

7.2.10 用户自定义数据类型147

7.3 程序数据的声明147

7.3.1 声明一个变量148

7.3.2 声明常量148

7.3.3 NOT NULL语句149

7.3.4 锚定声明149

7.3.5 游标和表的锚151

7.3.6 使用锚定声明的益处152

7.3.7 NOT NULL数据类型的锚153

7.4 程序员定义的子类型153

7.5 数据类型转换154

7.5.1 隐式类型转换155

7.5.2 显式类型转换156

第8章 字符串162

8.1 字符串类型162

8.1.1 VARCHAR2数据类型163

8.1.2 CHAR数据类型164

8.1.3 String子类型164

8.2 使用字符串165

8.2.1 指定字符串常量165

8.2.2 不可打印字符167

8.2.3 拼接字符串168

8.2.4 处理大小写169

8.2.5 传统的检索、提取和替换172

8.2.6 填充174

8.2.7 剪裁176

8.2.8 正则表达式的检索、提取和

替换177

8.2.9 使用空字符串187

8.2.10 混用CHAR和

VARCHAR2188

8.3 字符串函数快速参考190

第9章 数字199

9.1 数值型数字类型199

9.1.1 NUMBER类型200

9.1.2 PLS_INTEGER类型204

9.1.3 BINARY_INTEGER类型205

9.1.4 SIMPLE_INTEGER类型205

9.1.5 BINARY_FLOAT和

BINARY_DOUBLE类型207

9.1.6 SIMPLE_FLOAT和

SIMPLE_DOUBLE类型212

9.1.7 数字子类型212

9.2 数字转换213

9.2.1 TO_NUMBER函数213

9.2.2 TO_CHAR函数216

9.2.3 CAST函数221

9.2.4 隐式转换222

9.3 数字运算符224

9.4 数字函数224

9.4.1 四舍五入和截断函数224

9.4.2 三角函数225

9.4.3 数字函数的快速参考225

第10章 日期和时间戳230

10.1 Datetime数据类型230

10.1.1 声明日期时间变量233

10.1.2 选择日期时间数据类型233

10.2 获取当前日期和时间234

10.3 INTERVAL数据类型236

10.3.1 声明INTERVAL变量237

10.3.2 什么时候使用INTERVAL238

10.4 日期时间转换240

10.4.1 从字符串到日期时间240

10.4.2 从日期时间到字符串242

10.4.3 使用时区245

10.4.4 准确匹配需要格式掩码247

10.4.5 让准确匹配更轻松248

10.4.6 解释滑动窗口中两位数字的

年份248

10.4.7 把时区转换成字符串249

10.4.8 用填充模式把输出补齐250

10.5 日期和时间戳直接量251

10.6 时间间隔的转换252

10.6.1 从数字到时间间隔的转换252

10.6.2 把字符串转换成间隔253

10.6.3 时间间隔的格式化显示254

10.7 时间间隔直接量254

10.8 CAST和EXTRACT256

10.8.1 CAST函数256

10.8.2 EXTRACT函数258

10.9 日期时间的算法258

10.9.1 时间间隔和日期时间的

算法259

10.9.2 DATE数据类型的日期

算法260

10.9.3 计算两个日期时间之间的

时间间隔260

10.9.4 DATE和TIMESTAMP混合

计算262

10.9.5 时间间隔的加减运算263

10.9.6 时间间隔的乘除运算264

10.9.7 使用不受的时间间隔

类型264

10.10 日期/时间函数的快速

参考266

第11章 记录类型269

11.1 PL/SQL中的记录269

11.1.1 使用记录的好处270

11.1.2 声明记录271

11.1.3 程序员自定义的记录类型273

11.1.4 使用记录类型275

11.1.5 记录的比较281

11.1.6 触发器伪记录282

第12章 集合284

12.1 集合概述285

12.1.1 集合概念和术语285

12.1.2 集合类型287

12.1.3 集合示例288

12.1.4 使用集合的场合291

12.1.5 选择一个集合类型296

12.2 集合方法(内置)297

12.2.1 COUNT方法298

12.2.2 DELETE方法299

12.2.3 EXISTS方法300

12.2.4 EXTEND方法300

12.2.5 FIRST和LAST方法301

12.2.6 LIMIT方法302

12.2.7 PRIOR和NEXT方法303

12.2.8 TRIM方法304

12.3 使用集合305

12.3.1 声明集合类型306

12.3.2 集合变量的声明和初始化310

12.3.3 用数据填充集合313

12.3.4 访问集合内的数据318

12.3.5 使用字符串索引的集合319

12.3.6 复杂数据类型的集合324

12.3.7 多级集合327

12.3.8 在SQL中使用集合335

12.4 嵌套表的多重集合操作342

12.4.1 测试嵌套表是否相等及成员

归属343

12.4.2 检查元素是否是嵌套表的

成员344

12.4.3 执行不错别集合操作345

12.4.4 嵌套表中的去重346

12.5 schema级别集合的维护347

12.5.1 必需的权限347

12.5.2 集合和数据字典348

第13章 其他数据类型349

13.1 BOOLEAN类型349

13.2 RAW数据类型350

13.3 UROWID和ROWID数据

类型351

13.3.1 获取ROWID352

13.3.2 使用ROWID352

13.4 LOB数据类型353

13.5 使用LOB354

13.5.1 理解LOB定位符356

13.5.2 LOB的空和NULL357

13.5.3 向LOB中写入数据359

13.5.4 读取LOB数据361

13.5.5 BFILE的不同之处363

13.5.6 SecureFiles和BasicFiles367

13.5.7 临时LOB369

13.5.8 原生的LOB操作372

13.5.9 LOB转换函数376

13.6 预定义的对象类型376

13.6.1 XMLType类型376

13.6.2 URI类型379

13.6.3 Any类型381

第4部分 PL/SQL中的SQL

第14章 DML和事务管理387

14.1 PL/SQL中的DML388

14.1.1 DML简介388

14.1.2 DML操作符的游标属性391

14.1.3 从DML语句返回信息392

14.1.4 DML和异常处理393

14.1.5 DML和记录394

14.2 事务管理397

14.2.1 COMMIT语句397

14.2.2 ROLLBACK语句398

14.2.3 SAVEPOINT语句399

14.2.4 SET TRANSACTION语句399

14.2.5 LOCK TABLE语句400

14.3 自治事务400

14.3.1 定义自治事务401

14.3.2 自治事务的规则和402

14.3.3 事务的可见性403

14.3.4 何时使用自治事务403

14.3.5 创建自治日志记录机制404

第15章 数据提取407

15.1 游标基础408

15.1.1 一些数据提取术语408

15.1.2 典型的查询操作410

15.1.3 游标属性介绍411

15.1.4 在游标中引用PL/SQL

变量413

15.1.5 显式与隐式游标之间的

选择414

15.2 使用隐式游标414

15.2.1 隐式游标示例415

15.2.2 隐式游标的异常处理416

15.2.3 隐式SQL游标的属性418

15.3 使用显式游标419

15.3.1 声明显式游标420

15.3.2 打开显式游标423

15.3.3 从显式游标获取424

15.3.4 显式游标中的列别名425

15.3.5 关闭显式游标426

15.3.6 显式游标属性427

15.3.7 游标参数429

15.4 SELECT…FOR UPDATE432

15.4.1 COMMIT释放锁定433

15.4.2 WHERE CURRENT

OF子句434

15.5 游标变量和REF

CURSOR435

15.5.1 为什么使用游标变量436

15.5.2 与静态游标的相似之处437

15.5.3 声明REF CURSOR类型437

15.5.4 声明游标变量438

15.5.5 打开游标变量439

15.5.6 从游标变量中提取数据440

15.5.7 游标变量的使用规则442

15.5.8 将游标变量作为参数传递445

15.5.9 游标变量的约束447

15.6 游标表达式447

15.6.1 使用游标表达式448

15.6.2 游标表达式的约束450

第16章 动态SQL和动态

PL/SQL451

16.1 NDS语句452

16.1.1 EXECUTE IMMEDIATE

语句452

16.1.2 OPEN FOR语句455

16.1.3 4种动态SQL方法460

16.2 绑定变量462

16.2.1 参数模式463

16.2.2 重复的占位符465

16.2.3 传递NULL值465

16.3 使用对象和集合466

16.4 动态PL/SQL468

16.4.1 建立动态PL/SQL块469

16.4.2 用动态块替换重复代码470

16.5 NDS建议471

16.5.1 对共享程序使用调用者

权限471

16.5.2 预测并处理动态错误472

16.5.3 使用绑定而非拼接474

16.5.4 减少代码注入的危险475

16.6 何时使用DBMS_SQL478

16.6.1 获得查询列信息478

16.6.2 实现第四种方法的动态

SQL需求479

16.6.3 最小化动态游标解析485

16.6.4 Oracle数据库11g新动态

SQL特性486

16.6.5 DBMS_SQL增强安全490

(下)

第5部分 构造PL/SQL应用程序

第17章 过程、函数和参数497

17.1 代码模块化497

17.2 过程499

17.2.1 调用一个过程501

17.2.2 过程头部501

17.2.3 过程体501

17.2.4 END标签502

17.2.5 RETURN语句502

17.3 函数502

17.3.1 函数的结构503

17.3.2 返回的数据类型504

17.3.3 END标签506

17.3.4 调用函数506

17.3.5 不带参数的函数507

17.3.6 函数头508

17.3.7 函数体508

17.3.8 RETURN语句509

17.4 参数510

17.4.1 定义参数511

17.4.2 实参和形参511

17.4.3 参数模式512

17.4.4 在PL/SQL中显式地关联

实参和形参515

17.4.5 NOCOPY参数模式限定符519

17.4.6 缺省值519

17.5 局部或者嵌套模块520

17.5.1 使用局部模块的益处521

17.5.2 局部模块的作用范围523

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP