注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络数据库Oracle PL/SQL实例精解(原书第5版)

Oracle PL/SQL实例精解(原书第5版)

Oracle PL/SQL实例精解(原书第5版)

定 价:¥79.00

作 者: 本杰明·罗森维格
出版社: 机械工业出版社
丛编项:
标 签: Oracle 计算机/网络 数据库

购买这本书可以去


ISBN: 9787111528876 出版时间: 2016-03-01 包装: 平装
开本: 16开 页数: 372 字数:  

内容简介

  本书通过实际的实验、示例和项目来讲解你所需的全部PL/SQL技能,它涵盖从基础语法、程序控制到最新的优化和安全增强等方面的知识。读者循序渐进地学习每个关键任务,自己就能掌握当今最有价值的Oracle12c的PL/SQL编程技术。本书的方法完全反映了作者在哥伦比亚大学给专业人员讲授PL/SQL的广受好评的经验。数据库开发的新手和DBA可以通过学习本书快速获得成效。有经验的PL/SQL程序员会发现本书是很好的Oracle12c的解决方案参考。

作者简介

  作 者 简 介?About the AuthorBenjamin Rosenzweig是Misys财务软件公司的高级项目经理,他自2002年以来一直在那里工作。在此之前,他曾在Oracle公司定制开发部担任了三年以上的首席顾问。他所做的计算机工作包括在尼泊尔加德满都建立电子藏英词典,为高盛公司演示中心做支持,以及管理TIAA-CREF的交易系统。自1998年以来,Benjamin一直在纽约市哥伦比亚大学计算机技术与应用项目担任教师,在2002年,他被CTA项目的主席和董事授予“优秀教学奖”。他拥有里德学院的学士学位和哥伦比亚大学颁发的数据库开发和设计证书。他从前与Prentice Hall合著的书籍包括《Oracle Forms Developer:The Complete Video Course (2000)》和《Oracle Web Application Programming for PL/SQL Developers(2003)》。Elena Rakhimov拥有超过20年的数据库架构和开发经验,曾服务于各种企业和商业环境,从非营利组织到华尔街到她目前在知名软件公司领导数据库团队的职位。尽管Elena决定从事“实际操作”,但她在学术领域也很有建树,她在哥伦比亚大学受到高度评价的计算机技术与应用项目中执教关系数据库编程。她曾在哥伦比亚大学学习数据库分析和设计,并在阿塞拜疆的巴库国立大学学习应用数学。她目前居住在加拿大温哥华。

图书目录

目  录 Contents

译者序

前言

作者简介

致谢

第1章 PL/SQL概念  1

1.1 实验1:PL/SQL架构  1使用  8

1.2.2 初步掌握SQL * Plus的使用  10

1.2.3 执行PL/SQL脚本  11

1.3 实验3:PL/SQL基础知识  14

1.3.1 DBMS_OUTPUT.PUT_LINE语句  14

1.3.2 替代变量功能  17

1.4 总结  21

第2章 PL/SQL语言基础  22

2.1 实验:PL/SQL编程基础  22

2.1.1 PL/SQL语言组件  23

2.1.2 PL/SQL变量  23

2.1.3 PL/SQL保留字  26

2.1.4 PL/SQL中的标识符  26

2.1.5 挂靠的数据类型  27

2.1.6 声明和初始化变量  29

2.1.7 块作用域、嵌套块和标签  32

2.2 总结  34

第3章 在PL/SQL中的SQL  35

3.1 实验1:在PL/SQL中的DML

 语句  35

3.1.1 使用SELECT INTO初始化 变量  36

3.1.2 使用变量初始化的SELECT  INTO语法  37

3.1.3 在PL/SQL块中使用DML  38

3.1.4 在PL/SQL块中使用序列  39

3.2 实验2:在PL/SQL中的事务 控制  40

3.2.1 使用COMMIT、ROLLBACK和

 SAVEPOINT  40

3.2.2 将DML和事务控制相结合  43

3.3 总结  45

第4章 条件控制:IF语句  46

4.1 实验1:IF语句  46

4.1.1 IF-THEN语句  47

4.1.2 IF-THEN-ELSE语句  48

4.2 实验2:ELSIF语句  50

4.3 实验3:嵌套的IF语句  54

4.4 总结  56

第5章 条件控制:CASE语句  57

5.1 实验1:CASE语句  57

5.1.1 CASE语句  57

5.1.2 搜索CASE语句  59

5.2 实验2:CASE表达式  64

5.3 实验3:NULLIF和COALESCE

 函数  67

5.3.1 NULLIF函数  67

5.3.2 COALESCE函数  69

5.4 总结  71

第6章 迭代控制:第一部分  72

6.1 实验1:简单循环  72

6.1.1 EXIT语句  73

6.1.2 EXIT WHEN语句  76

6.2 实验2:WHILE循环  77

6.2.1 使用WHILE循环  77

6.2.2 提前终止WHILE循环  80

6.3 实验3:数字FOR循环  81

6.3.1 在循环中使用IN选项  82

6.3.2 在循环中使用REVERSE选项  84

6.3.3 提前终止数字FOR循环  84

6.4 总结  85

第7章 迭代控制:第二部分  86

7.1 实验1:CONTINUE语句  86

7.1.1 使用CONTINUE语句  86

7.1.2 CONTINUE WHEN语句  89

7.2 实验2:嵌套循环  92

7.2.1 使用嵌套循环  92

7.2.2 使用循环标签  93

7.3 总结  95

第8章 错误处理和内置异常  96

8.1 实验1:处理错误  96

8.2 实验2:内置异常  98

8.3 总结  103

第9章 异常  104

9.1 实验1:异常作用域  104

9.2 实验2:用户定义的异常  107

9.3 实验3:异常传播  111

9.4 总结  116

第10章 异常:高级概念  117

10.1 实验1:RAISE_APPLICATION

 ERROR  117

10.2 实验2:EXCEPTION_INIT

 编译指示  120

10.3 实验3:SQLCODE和

 SQLERRM  122

10.4 总结  124

第11章 游标简介  125

11.1 实验1:游标类型  125

11.1.1 使用隐式游标  126

11.1.2 使用显式游标  127

11.2 实验2:游标循环  130

11.2.1 处理显式游标  130

11.2.2 使用用户定义的记录  133

11.2.3 使用游标属性  134

11.3 实验3:游标FOR循环  138

11.4 实验4:嵌套游标  139

11.5 总结  143

第12章 高级游标  144

12.1 实验1:参数化游标  144

12.2 实验2:复杂的嵌套游标  145

12.3 实验3:FOR UPDATE和WHERE CURRENT游标  147

12.3.1 FOR UPDATE游标  147

12.3.2 游标中的FOR UPDATE 触发器  151

13.1.1 数据库触发器  151

13.1.2 BEFORE触发器  154

13.1.3 AFTER触发器  159

13.1.4 自治事务  160

13.2 实验2:触发器类型  162

13.2.1 行触发器和语句触发器  162

13.2.2 INSTEAD OF触发器  163

13.3 总结  167

第14章 变异表和复合触发器  168

14.1 实验1:变异表  168

14.1.1 什么是变异表  168

14.1.2 解决变异表问题  170

14.2 实验2:复合触发器  172

14.2.1 什么是复合触发器  172

14.2.2 解决变异表问题的复合

 触发器  174

14.3 总结  177

第15章 集合  178

15.1 实验1:PL/SQL表  178

15.1.1 关联数组  179

15.1.2 嵌套表  181

15.1.3 集合方法  184

15.2 实验2:变长数组  187

15.3 实验3:多级集合  190

15.4 总结  192

第16章 记录  193

16.1 实验1:记录类型  193

16.1.1 基于表和基于游标的记录  194

16.1.2 用户定义的记录  196

16.1.3 记录兼容性  197

16.2 实验2:嵌套记录  199

16.3 实验3:记录集合  202

16.4 总结  205

第17章 本地动态SQL  206

17.1 实验1:EXECUTE IMMEDIATE语句  206

17.1.1 使用EXECUTE IMMEDIATE

 语句  207

17.1.2 如何避免使用EXECUTE

 IMMEDIATE的常见ORA错误  209

17.2 实验2:OPEN-FOR、FETCH和

 CLOSE语句  216

17.2.1 打开游标  216

17.2.2 从游标中读取  217

17.2.3 关闭游标  217

17.3 总结  223

第18章 批量SQL  224

18.1 实验1:FORALL语句  224

18.1.1 使用FORALL语句  225

18.1.2 SAVE EXCEPTIONS选项  228

18.1.3 INDICES OF选项  230

18.1.4 VALUES OF选项  230

18.2 实验2:BULK COLLECT子句  232

18.3 实验3:在SQL语句中绑定集合  239

18.3.1 将集合与EXECUTE IMMEDIATE语句绑定  240

18.3.2 将集合与OPEN-FOR、FETCH和CLOSE语句绑定  245

18.4 总结  248

第19章 过程  249

19.1 模块化代码的好处  249

19.1.1 块结构  250

19.1.2 匿名块  250

19.2 实验1:创建过程  250

19.2.1 实践创建过程的语法  251

19.2.2 查询数据字典来获取过程的

 信息  252

19.3 实验2:传递的过程参数IN和

 OUT  253

19.4 总结  255

第20章 函数  256

20.1 实验1:创建函数  256

20.1.1 创建存储函数  257

20.1.2 使用函数  259

20.2 实验2:在SQL语句中使用函数  260

20.2.1 在SQL语句中调用函数  261

20.2.2 编写复杂函数  261

20.3 实验3:在SQL中优化函数执行  262

20.3.1 使用WITH子句定义函数  262

20.3.2 使用UDF编译指示创建函数  263

20.4 总结  263

第21章 包  264

21.1 实验1:创建包  264

21.1.1 创建包规范  265

21.1.2 创建包体  267

21.1.3 调用已存储的包  269

21.1.4 创建私有对象  270

21.2 实验2:游标变量  274

21.3 实验3:扩展包  281

21.4 实验4:包的实例化和初始化  292

21.5 实验5:SERIALLY_REUSABLE包  294

21.6 总结  296

第22章 存储代码  297

22.1 实验:收集存储代码的相关信息  297

22.1.1 从数据字典获取存储代码的信息  297

22.1.2 重载模块  300

22.2 总结  305

第23章 Oracle对象类型  306

23.1 实验1:对象类型  306

23.1.1 创建对象类型  308

23.1.2 使用对象类型与集合  310

23.2 实验2:对象类型的方法  314

23.2.1 构造方法  314

23.2.2 成员方法  316

23.2.3 静态方法  317

23.2.4 比较对象  318

23.3 总结  322

第24章 Oracle提供的包  323

24.1 实验1:利用Oracle提供的包扩展功能  323

24.1.1 在PL/SQL中利用UTL_FILE访问文件  324

24.1.2 利用DBMS_JOB调度作业  327

24.1.3 利用DBMS_XPLAN生成解释计划  329

24.1.4 利用DBMS_SQL产生隐式语句结果  333

24.2 实验2:利用Oracle提供的包报告错误  334

24.2.1 利用DBMS_UTILITY包报告错误  334

24.2.2 利用UTL_CALL_STACK  

本目录推荐