欢迎来到天天文库
浏览记录
ID:52473581
大小:380.36 KB
页数:18页
时间:2020-04-08
《《oracle基础教程》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、8.3.1Oracle的数据类型8.3.2Oracle常量、变量和表达式8.3.3Oracle内置函数8.3.4Oracle的哑表与伪列8.3Oracle数据库基础1.字符型用来存储字符串或字符数据,主要类型有VARCHAR2、CHAR和LONG。(1)VARCHAR2用来存储可变长的字符串或字符型数据,在使用时,须指明其最大字节数据。(2)CHAR用来存储定长的字符串或字符型数据,使用时也要指定长度,其缺省值为1。(3)LONG用来存储可变长的字符串或字符型数据。8.3.1Oracle的数据类型2.数字型数字型用于存储整数或实数。主要有:number、BINARY_I
2、NTEGER(1)NUMER用于存储数字数据,包括整数或浮点数。在实际应用中,应指定该类型数据长度和小数的位数。在Oracle中其指定的长度不包含小数点和符号位。(2)BINARY_INTEGER它是PL/SQL的一个数据类型,它用于带符号的整数值,以2的补码的二进制形式进行存储。8.3.1Oracle的数据类型3.日期型DATE型用于存储日期和时间信息,包括世纪、和、月、日、时、分、秒,其占7个字节,每一部分占一个字节。4.RAW和LONGRAWRAW和LONGRAW用来存储二进制数据。(1)RAWRAW类似于CHAR,必须指定存储二进制数的最大字节数。(2)LONG
3、RAWLONGRAW类似于LONG。8.3.1Oracle的数据类型5.ROWID数据库表中的每一行(ROW)都有一个地址,通过查询伪列ROWID获得该行地址。该伪列的值为16进制字符串,该串的数据类型为ROWID。其字符值的形式为:BLOCK.ROW.FILE。6.布尔型在表中无布尔型的字段类型,只有在PL/SQL中可以定义BOOLEAN型,它的值为TRUE、FALSE、NULL。在定义BOOLEAN型变量时可限定变量为NOTNULL,但此时必须为该变量初始化。8.3.1Oracle的数据类型7.复合类型(1)记录记录定义的格式如下:TYPERecord_typeIS
4、RECORD(Field1Datatype1[NOTNULL][:=Expression1],Field2Datatype2[NOTNULL][:=Expression2],…);在上述格式中Record_type是一种定义的记录类型。如果要定义记录类型的变量与已建立的某一关系表结构一致,可使用下列定义:Record_typenametable_name%ROWTYPE;8.3.1Oracle的数据类型(2)表PL/SQL中的表类似于C语言中的数组,并与其数组的处理方式类似,但实现方法不同。表必须定义该表类型,再声明一个属于该类型的变量,然后才能引用。定义表类型的格式如
5、下:TYPETable_typeISTABLEOFtypeINDEXBYBINARY_INTEGER;一个PL/SQL表类似于数据库中的一个只有两列的表,一列的类型为BINARY_INTEGER,另一列的类型为定义中指定的类型。8.3.1Oracle的数据类型8.LOB类型LOB类型用来存储大型的对象,它可以是一个二进制数值或字符型值,其最大长度为4GB。LOB可包含没有结构特征的数据,对它的访问比对LONG或LONGRAW数据的访问更为有效,对它的限制更少。9.自定义子类型PL/SQL中除可使用预定义的子类型外,用户自己可以定义子类型,其格式为:SUBTYPEnew_
6、typeISoriginal_type;8.3.1Oracle的数据类型10.使用%TYPE在许多情况下,PL/SQL变量可以用来处理存储在数据库表中的数据,因而该变量类型与表中相应字段的数据类型相同。可使用%TYPE说明某一变量与表中字段类型相同。其格式为:variety_nametable_name.field_name%TYPE;8.3.1Oracle的数据类型在Oracle中把值存储在常量和变量中,常量的值不能改变,变量的值可以改变。变量可分为字段变量和内存变量。用到的常量与变量必须定义,在定义时须指明它的数据类型。Oracle中的表达式与在第4章中介绍了SQL
7、中的表达式相同,在此不重述。但在Oracle使用表达式时应注意NULL与其它数据的运算。NULL与任何类型数据作运算其结果均为NULL。8.3.2Oracle常量、变量和表达式但NULL具有以下特点:(1)等价于没有任何值;(2)与0、空字符串或空格不同;(3)在WHERE条件中,Oracle认为结果为NULL的条件为FALSE,带有这样条件的SELECT语句不返回行,并且不返回错误信息,但NULL和FALSE是不同的;(4)排序时比其他数据都大;(5)空值不能被索引。虽然在某列上建立了索引,但是对该列的空值查询来说,因为空值没有被索引,
此文档下载收益归作者所有