精通Oracle核心技术和项目实战之Oracle编程基础

上传人:宝路 文档编号:47567650 上传时间:2018-07-03 格式:PPTX 页数:59 大小:413.61KB
返回 下载 相关 举报
精通Oracle核心技术和项目实战之Oracle编程基础_第1页
第1页 / 共59页
精通Oracle核心技术和项目实战之Oracle编程基础_第2页
第2页 / 共59页
精通Oracle核心技术和项目实战之Oracle编程基础_第3页
第3页 / 共59页
精通Oracle核心技术和项目实战之Oracle编程基础_第4页
第4页 / 共59页
精通Oracle核心技术和项目实战之Oracle编程基础_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《精通Oracle核心技术和项目实战之Oracle编程基础》由会员分享,可在线阅读,更多相关《精通Oracle核心技术和项目实战之Oracle编程基础(59页珍藏版)》请在金锄头文库上搜索。

1、第12章 Oracle编程基础本章介绍Oracle编程基础,主要有PL/SQL 相关内容和Oracle的控制语句。PL/SQL( Procedural Language/SQL)是Oracle在SQL 标准语言上进行扩展后形成的程序设计语 言,是一种Oracle数据库特有的、支持应用 开发的语言。Oracle编程中也需要结合使用 流程控制语句,用于控制PL/SQL语句、语 句块的执行过程。12.1 PL/SQL简介PL/SQL是Oracle公司开发的一种编程语言 ,它是对SQL的扩充。在PL/SQL程序中, 可以定义变量、数据类型、函数以及过程 ,可以使用流控制语句,可以包含SQL语句 ,还可

2、以进行错误处理。利用PL/SQL程序 ,可以对数据库进行复杂的访问。12.1.1 PL/SQL基本结构PL/SQL是一种结构化编程语言。程序的基本单元是 块,主要的块形式有函数、过程和匿名块。一个 PL/SQL块由以下三部分组成,其大体结构如图所 示。12.1.1 PL/SQL基本结构【示例12-1】输出语句“Hello,Life for fun, style for teens”。12.1.2 PL/SQL注释注释增强了程序的可读性,使得程序更易 于理解。注释在进行编译时被PL/SQL编译 器忽略。注释有单行注释和多行注释两种 ,这与许多高级语言的注释风格是一样 的。1.单行注释单行注释由两

3、个连字符(-)开始,一直到 行尾(回车符标志着注释的结束)。【示例12-2】对示例12-1进行单行注释。12.1.2 PL/SQL注释2.多行注释多行注释由/*开头,由*/结尾,这和C语言 是一样的。【示例12-3】多行注释说明。12.1.3 PL/SQL基本规则做任何事情都有规范,编程也一样。在 PL/SQL中,也需要遵守一些规范,这样可 以提高代码的可读性,提高工作效率。12.1.3 PL/SQL基本规则1.PL/SQL中允许出现的字符集。字母,包括大写和小写。数字,即09。空格、回车符。数学符号,包括+、-、*、/、=。间隔符,包括()、?、!、;、:、,、“ 、#、$、%、&等。12.

4、1.3 PL/SQL基本规则2.PL/SQL需要遵守的要求。标识符是不区分大小写的。标识符中只允许出现字母、数字、下划线 ,并且以字母开头。语句以分号结束。字符型和日期型必须使用括号括起。语句的关键词、标识符12.1.3 PL/SQL基本规则3.PL/SQL中可以参考的规范。每行只写一条语句。所有的过程名称大写。所有的变量以及自建的过程或游标、触发器名称都使用有意义 的名称命名。命名应该以“_”的连接方式,也可以使用大小写混合的方式。变量前最好加上前缀,以表示该变量的数据类型、作用范围 等。每个变量都应加上注释。在重要的程序段都应加上注释。这些只是基本的规则,可以提高代码的可读性。在日常中应该

5、 注意这些规范,形成良好的编程习惯。12.1.4 PL/SQL数据类型Oracle定义的数据类型很多,掌握这些简单 的数据类型有助于编写一些复杂的程序。 下面将对常用数据类型进行介绍。12.1.4 PL/SQL数据类型1.数字类型数字类型变量存储整数或者实数。它包含 number、pls_integer和binary_integer3种基本 类型。其中,number类型的变量可以存储 整数或浮点数,而pls_integer和 binary_integer类型的变量只存储整数。12.1.4 PL/SQL数据类型2.字符类型字符类型变量用来存储字符串或者字符数据。 其类型包括varchar2、ch

6、ar、nchar、nvarchar2 等。varchar2:可以存储变长字符串。char类型表示定长字符串。nchar类型表示的是存储Unicode字符集的定长 字符集数据。nvarchar2类型表示的是存储Unicode字符集的 变长字符集数据。12.1.4 PL/SQL数据类型3.日期类型日期类型是用来存放表示日期的数据的。日期 类型有date、timestamp。date类型用来存储日期和时间的。date类型的 时间精确到秒。timestamp类型也是用来存储日期和时间信息 ,包括世纪、年、月、天、小时、分钟和秒。 与date类型的区别就是在显示日期和时间时更 精确。timestamp类

7、型可以精确到小数秒。使用 timestamp类型存放日期还可以显示当前是上午 还是下午。12.1.4 PL/SQL数据类型4.布尔类型布尔类型中的唯一类型是boolean,主要用 于控制程序流程。一个布尔类型变量的值 可以是true、false和null。12.1.4 PL/SQL数据类型5.type定义的数据类型上面介绍了几种常用的数据类型,下面来 介绍一下如何定义数据类型,它类似C语言 中的结构类型。定义数据类型的语句格式 如图所示。12.1.5 PL/SQL运算符运算符是一种符号,用来指定要在一个或者多 个表达式中执行的操作。运算符一般也用在执 行列、常量或变量之间的数学运算和比较操作

8、中。而表达式则是标识符、值和运算符的组 合。简单的表达式可以是一个常量、函数、列 名、变量和子查询。可以用运算符将两个或更 多的简单表达式连接起来组成复杂的表达式。 PL/SQL运算符包括:算数运算符、位运算 符、比较运算符、逻辑运算符、赋值运算符、 字符串连接符和一元运算符。12.1.5 PL/SQL运算符1.算术运算符算术运算符用于执行数字型表达式的算术 运算。在PL/SQL中支持的算术运算及其说 明如下所示。+(加),加法或正号。-(减),减法或负号。*(乘),乘法运算。/(除),除法运算。12.1.5 PL/SQL运算符2.比较运算符比较运算用来比较两个表达式的大小。在 PL/SQL中

9、可以支持的比较运算符主要包括以 下几种。,大于。=,等于。=,大于或等于。(!=),不等于12.1.5 PL/SQL运算符3.逻辑运算符逻辑运算符用来对逻辑条件进行测试,以 获得其真实情况。它与比较运算符一样, 根据测试结果返回布尔值true、false、null 。逻辑运算符有and、or、not、between、 like等,具体的在查询一章中已详细讲解。12.1.5 PL/SQL运算符4.字符串连接符字符窜连接连接符“|”用于实现字符串之间 的连接操作,如图所示。12.1.5 PL/SQL运算符5.赋值运算符 在PL/SQL中,赋值运算符为“:=”,即将表 达式的值赋给一个变量。【示例1

10、2-4】声明一个变量,并为该变量 赋值为“confidence”。12.1.5 PL/SQL运算符6.运算符的优先级Oracle中的运算符具有不同的优先级。同一个表达式中包含不同的运 算符时,运算符的优先级决定了表达式的计算和比较操作的顺序。Oracle中各种运算符的优先级的顺序如下所示。括号,()正、负运算,+、-乘、除运算,*、/加、减、字符连接运算,+、-、|比较运算,=、,=,(!=)逻辑非运算,not逻辑与运算,andall、any、between、in、like、or、some等运算赋值运算,:=12.1.5 PL/SQL运算符在进行数据查询时,经常需要对查询到的 数据进行再次计算

11、处理。PL/SQL中允许直 接在select子句中使用计算列,计算列是通 过某些列的数据进行演算得来的结果。【示例12-5】结合order_items数据表,计算 unit_price打9折之后的值。12.1.6 PL/SQL表达式数据库中经常使用表达式来计算结果,尤其在 变量和常量的使用过程中。在前面已经接触过 表达式的使用,它和普通编程语言的表达式类 似。本小节系统地介绍表达式的类型以及如何 使用表达式。1.表达式简介表达式不能独立构成语句,表达式的结果是一 个值。如果不给这个值安排一个存放的位置, 则表达式本身毫无意义。通常,表达式作为赋 值语句的一部分出现在赋值值运算符的右边, 或者作

12、为函数的参数等。12.1.6 PL/SQL表达式2.字符和数值表达式(1)数值表达式是由数值类型的常量、变量以及 函数,由运算符连接而成。在PL/SQL中,可以使用 的算数运算符有。加号+。减号-。乘号*。除号。(2)对于字符表达式,唯一的运算符就是“|”,它 的作用是把几个字符串连接在一起,如表达式: wonderful |life|.的值就相等于wonderfullife。12.1.6 PL/SQL表达式3.关系表达式和逻辑表达式(1)关系表达式是将字符或数值用关系运 算符连接起来。(2)逻辑表达式是由逻辑符号和常量或变 量等组成的表达式。12.1.7 PL/SQL中变量、常量的定义 与使

13、用在PL/SQL块中可以定义变量、常量和数据 类型,这使得PL/SQL块对数据的处理更加 灵活。变量、常量和类型的定义放在 PL/SQL块的变量声明部分。12.1.7 PL/SQL中变量、常量的定义 与使用1.变量和常量在PL/SQL程序运行时,需要定义一些变量 来存放一些数据。(1)定义常量定义常量的语句格式如图所示。12.1.7 PL/SQL中变量、常量的定义 与使用(2)定义变量变量的定义有两种格式,如图所示。【示例12-6】定义了一个有关住址的变量,它 是变长字符型,最大长度为20个字符。12.1.7 PL/SQL中变量、常量的定义 与使用(3)变量初始化变量在定义时可以指定默认值或初

14、始值,在 PL/SQL块的运行过程中还可以为其赋值。【示例12-7】定义三个变量id、name、hiredate ,演示变量的声明、赋值和输出操作。【示例12-8】在上个示例中,已经了定义三个 变量,id、name、hiredate,现在结合%type属 性方法,添加一个变量是leavedate,该变量的 数据类型与hiredate相同。12.2 PL/SQL中定义类型在前面简单讲解了type定义的数据类型。现 在讲解常用的自定义类型:记录类型和集 合类型。它们都是复合数据类型。12.2.1 记录类型记录类型允许在一个类型中包含若干类型 不同的字段,字段类型可以是基本数据类 型,也可以是另一个

15、复合数据类型。记录 类型的定义格式如图所示。12.2.1 记录类型【示例12-9】例如,要存储顾客的信息,可以定义 一个记录类型,包括姓名、电话、地址、记录日期 等字段。【示例12-10】定义了两个shopper类型的变量,分 别表示两个顾客。【示例12-11】在定义上述类型和变量的基础上,为 记录类型中的字段赋值,并输出结构。【示例12-12】根据customers表的结构,可以定义记 录类型变量cus。【示例12-13】根据记录类型变量cus,为 customer_id、cust_first_name,city这三个字段赋值 ,并输出其字段值。12.2.2 集合类型记录类型变量中包含若干类

16、型不同的数据 ,而集合类型变量中包含多个相同类型的 元素。要创建一个集合,先要定义一个集 合类型,然后再定义该类型的集合变量。 定义集合类型的语法如图所示。12.2.2 集合类型【示例12-14】定义了一个集合类型,元素 类型是整数。【示例12-15】定义两个集合变量begins1和 begins2,并分别调用构造函数进行初始化 ,begins1中包含三个元素,begins2是一个 空集合,不包含任何元素。集合类型类似于面向对象技术中的类,除 了可以使用构造函数外,还有一些方法可 以用来对集合进行操作。12.2.2 集合类型集合的部分方法如表所示。方法功能extend(m,n)将集合的第n个元素追加到集合末尾共m次,如

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号