《oracle基础教程》PPT课件.ppt_第1页
《oracle基础教程》PPT课件.ppt_第2页
《oracle基础教程》PPT课件.ppt_第3页
《oracle基础教程》PPT课件.ppt_第4页
《oracle基础教程》PPT课件.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,8.3.1 Oracle的数据类型 8.3.2 Oracle常量、变量和表达式 8.3.3 Oracle内置函数 8.3.4 Oracle的哑表与伪列,8.3 Oracle数据库基础,1字符型 用来存储字符串或字符数据,主要类型有VARCHAR2、CHAR和LONG。 (1)VARCHAR2 用来存储可变长的字符串或字符型数据,在使用时,须指明其最大字节数据。 (2)CHAR 用来存储定长的字符串或字符型数据,使用时也要指定长度,其缺省值为1。 (3)LONG 用来存储可变长的字符串或字符型数据。,8.3.1 Oracle的数据类型,2数字型 数字型用于存储整数或实数。主要有:number、BINARY_INTEGER (1)NUMER 用于存储数字数据,包括整数或浮点数。在实际应用中,应指定该类型数据长度和小数的位数。在Oracle中其指定的长度不包含小数点和符号位。 (2)BINARY_INTEGER 它是PL/SQL的一个数据类型,它用于带符号的整数值,以2的补码的二进制形式进行存储。,8.3.1 Oracle的数据类型,3日期型 DATE型用于存储日期和时间信息,包括世纪、和、月、日、时、分、秒,其占7个字节,每一部分占一个字节。 4RAW和LONG RAW RAW和LONG RAW用来存储二进制数据。 (1)RAW RAW类似于CHAR,必须指定存储二进制数的最大字节数。 (2)LONG RAW LONG RAW类似于LONG。,8.3.1 Oracle的数据类型,5ROWID 数据库表中的每一行(ROW)都有一个地址,通过查询伪列ROWID获得该行地址。该伪列的值为16进制字符串,该串的数据类型为ROWID。其字符值的形式为:BLOCK.ROW.FILE。 6 布尔型 在表中无布尔型的字段类型,只有在PL/SQL中可以定义BOOLEAN型,它的值为TRUE、FALSE、NULL。在定义BOOLEAN型变量时可限定变量为NOT NULL,但此时必须为该变量初始化。,8.3.1 Oracle的数据类型,7复合类型 (1)记录 记录定义的格式如下: TYPE Record_type IS RECORD( Field1 Datatype1 NOT NULL:=Expression1, Field2 Datatype2 NOT NULL:=Expression2, ); 在上述格式中Record_type是一种定义的记录类型。 如果要定义记录类型的变量与已建立的某一关系表结构一致,可使用下列定义: Record_typename table_name%ROWTYPE;,8.3.1 Oracle的数据类型,(2) 表 PL/SQL中的表类似于C语言中的数组,并与其数组的处理方式类似,但实现方法不同。表必须定义该表类型,再声明一个属于该类型的变量,然后才能引用。定义表类型的格式如下: TYPE Table_type IS TABLE OF type INDEX BY BINARY_INTEGER; 一个PL/SQL表类似于数据库中的一个只有两列的表,一列的类型为BINARY_INTEGER,另一列的类型为定义中指定的类型。,8.3.1 Oracle的数据类型,8LOB类型 LOB类型用来存储大型的对象,它可以是一个二进制数值或字符型值,其最大长度为4GB。LOB可包含没有结构特征的数据,对它的访问比对LONG 或LONG RAW数据的访问更为有效,对它的限制更少。 9自定义子类型 PL/SQL中除可使用预定义的子类型外,用户自己可以定义子类型,其格式为: SUBTYPE new_type IS original_type ;,8.3.1 Oracle的数据类型,10使用%TYPE 在许多情况下,PL/SQL变量可以用来处理存储在数据库表中的数据,因而该变量类型与表中相应字段的数据类型相同。可使用%TYPE说明某一变量与表中字段类型相同。其格式为: variety_name table_name.field_name%TYPE;,8.3.1 Oracle的数据类型,在Oracle中把值存储在常量和变量中,常量的值不能改变,变量的值可以改变。变量可分为字段变量和内存变量。用到的常量与变量必须定义,在定义时须指明它的数据类型。 Oracle中的表达式与在第 4章中介绍了SQL中的表达式相同,在此不重述。但在Oracle使用表达式时应注意NULL与其它数据的运算。NULL与任何类型数据作运算其结果均为NULL。,8.3.2 Oracle常量、变量和表达式,但NULL 具有以下特点: (1) 等价于没有任何值; (2) 与 0、空字符串或空格不同; (3) 在WHERE条件中, Oracle认为结果为NULL的条件为FALSE,带有这样条件的SELECT语句不返回行,并且不返回错误信息,但NULL和FALSE是不同的; (4)排序时比其他数据都大; (5)空值不能被索引。虽然在某列上建立了索引,但是对该列的空值查询来说,因为空值没有被索引,所以不能改善查询的效率。,8.3.2 Oracle常量、变量和表达式,Oracle中提供了丰富的函数,除少数几个与SQL函数不同外,其余均相同。 1LENGTH与LENGTHB 上述两个函数都是求出字符串的长度,但返回结果可能不一样。LENGTHB返回的长度单位为字节,而不是字符。LENGTH则返回的值为字符串中字符的个数。 2SUBSTR与SUBSTRB SUBSTR函数据是从目标字符串中某个字符开始取出指定字符个数的子串,而SUBSTRB函数据是从目标字符串中某个字节开始取出指定字节个数的子串。,8.3.3 Oracle内置函数,3INSTR与INSTRB INSTR与INSTRB均是从指定字符串中的指定位置开始查找出现指定次数的字符串,它们的区别与SUBSTR与SUBSTRB区别相同。 4TO_DATE TO_DATE将一个字符串转换成一个日期型数据。其格式为: TO_DATE(string,format) 其中第一个参数是要转换的字符串,第二个参数为指定转换的格式,若未指定格式,则使用系统的缺省格式。,8.3.3 Oracle内置函数,5NVL 判断某一变量是否为空时可使用IS NULL 或IS NOT NULL,但它不能用于函数。Oracle提供了函数NVL,其语法为: NVL(Expression1, Expression2) 6DECODE 该函数类似于一系统嵌套函数,其语法为: DECODE(Base_expression , Compare_expression1,Value1, Compare_expression2,Value2, Compare_expressionn,Valuen,DEFAULT),8.3.3 Oracle内置函数,7UID UID函数没有参数,它返回唯一标识当前数据库用户的整数。 8USER 该函数没有参数,它返回当前Oracle用户的名字。 9分组函数 分组函数忽略空值。在实际应用中,根据需要可利用NVL函数用零代替空值。,8.3.3 Oracle内置函数,1哑表(DUAL) Oracle中经常要使用常量或伪列来说明函数的某些功能,或使用其它开发工具调用Oracle与表无关的一些函数、过程等时,如调用Oracle的系统日期函数SYSDATE,SELECT语句并不关心那一行在表中,只要一条记录就足够了。为此,Oracle提供了DUAL表。该表只包含一个字段和一条记录。使用它容易解决与表无关的一些查询问题。,8.3.4 Oracle的哑表与伪列,2伪列(Pseudo_column) 一个伪列是在查询时产生一个值的“列”,它的处理方式与表中一个字段的处理方式类似,但它不是表中的一个真正字段。Oracle中目前使用下列伪列: (1)SYSDATE SYSDATE是一个内置函数,它返回Oracle系统的日期与时间。在开实际系统发时,应使用该函数,而不应使用开发工具提供的函数,调用用户端机器上的日期与时间。 (2)UID与USER 这是在本章前面介绍过的两个函数。 (3)NULL 表示空值。应注意它与其它数据的运算及对一些函数值的影响。具体请参阅本章前面的讨论。,8.3.4 Oracle的哑表与伪列,(4)CURRVAL与NEXTVAL 这两个伪列与序号一起使用,表示返回序号的当前值和下一个值。具体使用方法参见第5节。 (5)LEVEL 该伪列主要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论