新書推薦:
《
《诗经》十五讲 十五堂《诗经》历史文化与文学课 丹曾人文通识丛书
》
售價:NT$
395.0
《
述异记汇笺及情节单元分类研究(上下册)
》
售價:NT$
475.0
《
环境、社会、治理(ESG)信息披露操作手册
》
售價:NT$
1190.0
《
桑德拉销售原则 伍杰 [美]大卫·马特森
》
售價:NT$
440.0
《
理论的意义
》
售價:NT$
340.0
《
悬壶杂记:医林旧事
》
售價:NT$
240.0
《
谁之罪?(汉译世界文学5)
》
售價:NT$
240.0
《
民国词社沤社研究
》
售價:NT$
640.0
|
編輯推薦: |
使用Oracle 21c的PL/SOL,我们可以构建在任何环境(包括云环境)下都能提供前所未有的性能和效率的解决方案。本书通过真实的实验、大量的示例讲解PL/SQL技能,并根据PL/SQL的最新版本进行了全面更新,涵盖从基础语法、程序控制到最新的优化和调优增强等方面的知识。按照本书的步骤,我们可以一步一步地完成每一个关键任务,掌握Oracle 21c PL/SQL编程技术。本书的写作方法充分反映了作者在哥伦比亚大学向专业人士传授PL/SOL编程经验的技巧。数据库开发人员和DBA新手可以通过本书来快速提高生产效率,有经验的PL/SQL程序员会发现本书是极好的Oracle 21c解决方案参考资料。第6版更新内容: 全面更新代码示例; 新增FOR循环语句的迭代控制,例如步进范围、多个迭代、集合和游标迭代; 增强PL/SQL限定表达式; PL/SQL函数的性能增强,例如SQL宏以及对结果缓存集的更好控制。通过阅读本书,你将能够: 掌握PL/SQL的基本概念和语言基础,了解SQL在PL/SQL中的作用; 使用条件控制和迭代控制; 高效地处理错误和异常; 使用游标和触发器,包括组合触发器; 使用存
|
內容簡介: |
本书根据PL/SQL的新版本进行了全面更新,涵盖从基础语法、程序控制到最新的优化和调优增强等方面的知识,通过真实的实验、大量的示例讲解了PL/SQL技能,是一本逐步分解的、详尽的PL/SQL编程教程。读者可以按照本书的步骤一步一步地完成每一个关键任务,掌握Oracle 21c PL/SQL编程技术,深度探索PL/SQL编程技术及最佳实践。本书既适合新手数据库开发人员和DBA阅读,也适合有一定经验的从业人员阅读。
|
關於作者: |
艾琳娜·拉希莫夫(Elena Rakhimov)拥有超过25年的数据库架构和开发经验,从非营利组织到华尔街再到她目前任职的知名咨询公司,曾服务于众多的企业和商业机构。此外她还在哥伦比亚大学备受推崇的计算机技术与应用项目中讲授关系数据库编程。
|
目錄:
|
目 录 Contents
译者序
前 言
致 谢
Oracle 21c PL/SQL新特性简介
第1章 PL/SQL概念1
1.1 实验1:PL/SQL架构1
1.1.1 PL/SQL架构2
1.1.2 PL/SQL块结构4
1.1.3 PL/SQL是如何执行的7
1.2 实验2:PL/SQL开发环境7
1.2.1 初步掌握SQL Developer8
1.2.2 初步掌握SQL*Plus9
1.2.3 执行PL/SQL脚本11
1.3 实验3:PL/SQL基础知识14
1.3.1 DBMS_OUTPUT.PUT_LINE
语句14
1.3.2 替代变量的功能16
本章小结19
第2章 PL/SQL语言的基础知识21
2.1 实验1:PL/SQL语言的各种组件21
2.1.1 PL/SQL变量22
2.1.2 PL/SQL保留字24
2.1.3 分隔符25
2.1.4 PL/SQL中的文字25
2.2 实验2:锚定数据类型26
2.3 实验3:变量、块、嵌套块和
标签的作用域27
2.3.1 变量的作用域28
2.3.2 嵌套块和标签28
本章小结30
第3章 PL/SQL中的SQL语句31
3.1 实验1:PL/SQL中的SQL语句31
3.1.1 使用SELECT INTO语句对
变量进行初始化31
3.1.2 在PL/SQL块中使用DML语句33
3.1.3 在PL/SQL块中使用序列34
3.2 实验2:在PL/SQL中使用
事务控制语句35
3.2.1 COMMIT、ROLLBACK和
SAVEPOINT语句35
3.2.2 SET TRANSACTION语句38
本章小结39
第4章 条件控制:IF语句40
4.1 实验1:IF语句40
4.1.1 IF-THEN语句41
4.1.2 IF-THEN-ELSE语句42
4.2 实验2:ELSIF语句44
4.3 实验3:嵌套的IF语句48
本章小结50
第5章 条件控制:CASE语句52
5.1 实验1:CASE语句52
5.1.1 简单CASE语句52
5.1.2 搜索CASE语句54
5.2 实验2:CASE表达式59
5.3 实验3:NULLIF和COALESCE
函数63
5.3.1 NULLIF函数63
5.3.2 COALESCE函数64
本章小结67
第6章 迭代控制:第一部分68
6.1 实验1:简单循环68
6.1.1 EXIT语句69
6.1.2 EXIT WHEN语句72
6.2 实验2:WHILE循环73
6.2.1 使用WHILE循环73
6.2.2 提前终止WHILE循环76
6.3 实验3:数字型FOR循环78
6.3.1 在循环中使用IN选项79
6.3.2 在循环中使用REVERSE选项82
6.3.3 在循环中使用迭代控制选项82
6.3.4 提前终止数字型FOR循环86
本章小结87
第7章 迭代控制:第二部分88
7.1 实验1:CONTINUE语句88
7.1.1 使用CONTINUE语句88
7.1.2 使用CONTINUE WHEN语句91
7.2 实验2:嵌套循环94
7.2.1 使用嵌套循环94
7.2.2 使用循环标签95
本章小结97
第8章 错误处理和内置异常98
8.1 实验1:错误处理98
8.2 实验2:内置异常100
本章小结105
第9章 异常106
9.1 实验1:异常的作用域106
9.2 实验2:用户定义的异常109
9.3 实验3:异常的传播113
9.3.1 异常如何传播113
9.3.2 重新触发异常117
本章小结118
第10章 异常:高级概念119
10.1 实验1:RAISE_APPLICATION_
ERROR过程119
10.2 实验2:EXCEPTION_INIT指令122
10.3 实验3:SQLCODE和SQLERRM
函数124
本章小结126
第11章 游标127
11.1 实验1:游标的类型127
11.1.1 隐式游标128
11.1.2 显式游标130
11.2 实验2:基于表和基于游标
的记录136
11.2.1 基于表的记录136
11.2.2 基于游标的记录138
11.3 实验3:游标型FOR循环139
11.4 实验4:嵌套的游标141
本章小结143
第12章 高级游标144
12.1 实验1:参数化游标144
12.2 实验2:游标变量和游标表达式149
12.2.1 游标变量149
12.2.2 游标表达式155
12.3 实验3:FOR UPDATE游标157
本章小结160
第13章 触发器161
13.1 实验1:什么是触发器161
13.1.1 数据库触发器161
13.1.2 BEFORE触发器164
13.1.3 AFTER触发器168
13.1.4 自治事务169
13.2 实验2:触发器的类型171
13.2.1 行级触发器和语句级触发器171
13.2.2 INSTEAD OF触发器172
本章小结176
第14章 变异表和组合触发器177
14.1 实验1:变异表177
14.2 实验2:组合触发器179
本章小结183
第15章 集合184
15.1 实验1:PL/SQL表184
15.1.1 关联数组185
15.1.2 嵌套表187
15.1.3 集合方法190
15.2 实验2:变长数组193
15.3 实验3:多维集合197
15.4 实验4:集合迭代控制和限定
表达式199
15.4.1 集合迭代控制199
15.4.2 限定表达式202
本章小结208
第16章 记录209
16.1 实验1:用户定义的记录209
16.1.1 用户定义的记录209
|
內容試閱:
|
前 言
本书采用一种独特而高效的方式向读者介绍Oracle PL/SQL编程语言,并通过实验让读者学习和使用Oracle PL/SQL编程语言,而不是简单地通过阅读来学习。
正如同语法手册首先通过示例进行演示,然后让我们编写语句,最后教我们有关名词和动词的用法一样,本书首先通过示例进行演示,然后让读者自己创建这些对象,以此教读者有关循环、游标、过程、触发器等的用法。
本书的目标读者
本书是为那些需要快速详细了解Oracle PL/SQL语言的编程人员准备的。本书特别适合那些有一点关系数据库和Oracle经验,特别是会使用SQL、SQL*Plus和SQL Developer但对PL/SQL或大多数其他编程语言不太了解的人阅读。
本书的内容主要基于哥伦比亚大学计算机技术与应用(Computer Technology and Applications,CTA)项目中“Introduction to PL/SQL”课程所教授的内容。学生的知识背景参差不齐,有一些学生具有多年的信息技术(IT)和编程经验,但没有Oracle PL/SQL方面的经验;还有一些学生则完全没有IT或编程经验。与那门课一样,本书内容兼顾了这两种极端的需求。
本书的组织结构
本书旨在通过解释编程概念或特定的PL/SQL功能教会读者有关Oracle PL/SQL的编程知识,然后通过示例进一步说明。通常,随着主题的讨论越来越深入,这些示例将被修改,以便用来说明新涉及的内容。
本书各章的基本结构如下:
目标
简介
实验
本章小结
“目标”部分列出章内所包含的主题。基本上每个目标都对应一个实验。
“简介”提供章内所涉及的概念和功能的简要概述。
每个实验都涵盖了“目标”部分列出的一个目标。在某些情况下,目标在实验中被进一步分解为更小的单元主题,然后每个主题都通过各种示例和输出结果来说明和演示。需要注意的是,我们会尽可能完整地提供每个示例,以便读者可以获得完整的代码示例。
每章的最后都有“本章小结”部分,它对章内所讨论的内容进行了简要的总结。
先决条件
完成本书中的实验既需要有软件程序,也需要具备必要的知识。需要注意的是,本书涉及的一些功能只适用于Oracle 21c。但是,使用下列产品可以运行书中的大部分示例:
Oracle 18c或更高版本。
SQL Developer、SQL*Plus 18c或更高版本。
互联网。
可以使用Oracle个人版或Oracle企业版来执行本书中的示例。如果使用Oracle企业版,这些示例可以在一台远程服务器或本地机器上运行。建议使用Oracle 21c或Oracle 18c执行本书中的所有或大部分示例。当某个特性仅适用于Oracle数据库的最新版本时,本书会明确说明。此外,读者应该能够访问SQL Developer或SQL*Plus工具并熟悉它们。
关于如何在SQL Developer或SQL*Plus中编辑和运行脚本,有多种选择。当然,也有许多第三方程序可用来编辑和调试PL/SQL代码。本书使用SQL Developer和SQL*Plus工具,因为这两个工具都是Oracle提供的,安装Oracle软件时即可安装它们。
第1章有一个标题为“PL/SQL开发环境”的实验,其中介绍了如何启动与使用SQL Developer和SQL*Plus工具。但是,本书中的大多数示例都是在SQL Developer工具中执行的。
关于示例中使用的模式
STUDENT模式包含表和其他对象,用来保存一个虚构大学的注册和登记系统的相关信息。系统中的10个表存储了学生、课程、教师等相关数据。除了存储学生和教师的联系信息(地址和电话号码)以及有关课程的描述信息(费用和必修课程)之外,STUDENT模式还记录了课程的课班(section)以及学生已经登记的课班。
SECTION表是STUDENT模式中最重要的表之一,因为它保存了为每门课程创建的各个课班的数据。每个课班记录还保存了此课班的时间、地点以及教师信息。SECTION表与COURSE表、INSTRUCTOR表之间存在着关联关系。
ENROLLMENT表也同样重要,因为它记录着哪些学生已经注册了哪些课班。每条记录还保存了有关学生的成绩和注册日期的信息。ENROLLMENT表与STUDENT表、SECTION表之间存在着关联关系。
STUDENT模式还有其他几个表,用来管理每个课班中每个学生的成绩。
STUDENT模式的详细结构参见附录B。
致 谢
我想说这本书的出版离不开很多人的帮助和建议。特别感谢Tonya Simpson和Chris Zahn进行一丝不苟的编辑,以及Michael Rinomhota和Dan Hotka提供宝贵的技术经验。非常感谢Malobika Chakraborty和Pearson公司的工作人员,是他们的不懈努力使这本书得以面世。此外,我也非常感谢我的家人,他们的激励、热忱、灵感和支持鼓励着我努力工作并坚持到最后,正是他们的爱,才使我顺利地完成本书的编写。
|
|