資源描述:
《《oracle基礎(chǔ)教程》PPT課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、8.3.1Oracle的數(shù)據(jù)類型8.3.2Oracle常量、變量和表達式8.3.3Oracle內(nèi)置函數(shù)8.3.4Oracle的啞表與偽列8.3Oracle數(shù)據(jù)庫基礎(chǔ)1.字符型用來存儲字符串或字符數(shù)據(jù),主要類型有VARCHAR2、CHAR和LONG。(1)VARCHAR2用來存儲可變長的字符串或字符型數(shù)據(jù),在使用時,須指明其最大字節(jié)數(shù)據(jù)。(2)CHAR用來存儲定長的字符串或字符型數(shù)據(jù),使用時也要指定長度,其缺省值為1。(3)LONG用來存儲可變長的字符串或字符型數(shù)據(jù)。8.3.1Oracle的數(shù)據(jù)類型2.數(shù)字型數(shù)字型用于存儲整數(shù)或?qū)崝?shù)。主要有:number、BINARY_I
2、NTEGER(1)NUMER用于存儲數(shù)字數(shù)據(jù),包括整數(shù)或浮點數(shù)。在實際應(yīng)用中,應(yīng)指定該類型數(shù)據(jù)長度和小數(shù)的位數(shù)。在Oracle中其指定的長度不包含小數(shù)點和符號位。(2)BINARY_INTEGER它是PL/SQL的一個數(shù)據(jù)類型,它用于帶符號的整數(shù)值,以2的補碼的二進制形式進行存儲。8.3.1Oracle的數(shù)據(jù)類型3.日期型DATE型用于存儲日期和時間信息,包括世紀、和、月、日、時、分、秒,其占7個字節(jié),每一部分占一個字節(jié)。4.RAW和LONGRAWRAW和LONGRAW用來存儲二進制數(shù)據(jù)。(1)RAWRAW類似于CHAR,必須指定存儲二進制數(shù)的最大字節(jié)數(shù)。(2)LONG
3、RAWLONGRAW類似于LONG。8.3.1Oracle的數(shù)據(jù)類型5.ROWID數(shù)據(jù)庫表中的每一行(ROW)都有一個地址,通過查詢偽列ROWID獲得該行地址。該偽列的值為16進制字符串,該串的數(shù)據(jù)類型為ROWID。其字符值的形式為:BLOCK.ROW.FILE。6.布爾型在表中無布爾型的字段類型,只有在PL/SQL中可以定義BOOLEAN型,它的值為TRUE、FALSE、NULL。在定義BOOLEAN型變量時可限定變量為NOTNULL,但此時必須為該變量初始化。8.3.1Oracle的數(shù)據(jù)類型7.復(fù)合類型(1)記錄記錄定義的格式如下:TYPERecord_typeIS
4、RECORD(Field1Datatype1[NOTNULL][:=Expression1],F(xiàn)ield2Datatype2[NOTNULL][:=Expression2],…);在上述格式中Record_type是一種定義的記錄類型。如果要定義記錄類型的變量與已建立的某一關(guān)系表結(jié)構(gòu)一致,可使用下列定義:Record_typenametable_name%ROWTYPE;8.3.1Oracle的數(shù)據(jù)類型(2)表PL/SQL中的表類似于C語言中的數(shù)組,并與其數(shù)組的處理方式類似,但實現(xiàn)方法不同。表必須定義該表類型,再聲明一個屬于該類型的變量,然后才能引用。定義表類型的格式如
5、下:TYPETable_typeISTABLEOFtypeINDEXBYBINARY_INTEGER;一個PL/SQL表類似于數(shù)據(jù)庫中的一個只有兩列的表,一列的類型為BINARY_INTEGER,另一列的類型為定義中指定的類型。8.3.1Oracle的數(shù)據(jù)類型8.LOB類型LOB類型用來存儲大型的對象,它可以是一個二進制數(shù)值或字符型值,其最大長度為4GB。LOB可包含沒有結(jié)構(gòu)特征的數(shù)據(jù),對它的訪問比對LONG或LONGRAW數(shù)據(jù)的訪問更為有效,對它的限制更少。9.自定義子類型PL/SQL中除可使用預(yù)定義的子類型外,用戶自己可以定義子類型,其格式為:SUBTYPEnew_
6、typeISoriginal_type;8.3.1Oracle的數(shù)據(jù)類型10.使用%TYPE在許多情況下,PL/SQL變量可以用來處理存儲在數(shù)據(jù)庫表中的數(shù)據(jù),因而該變量類型與表中相應(yīng)字段的數(shù)據(jù)類型相同??墒褂?TYPE說明某一變量與表中字段類型相同。其格式為:variety_nametable_name.field_name%TYPE;8.3.1Oracle的數(shù)據(jù)類型在Oracle中把值存儲在常量和變量中,常量的值不能改變,變量的值可以改變。變量可分為字段變量和內(nèi)存變量。用到的常量與變量必須定義,在定義時須指明它的數(shù)據(jù)類型。Oracle中的表達式與在第4章中介紹了SQL
7、中的表達式相同,在此不重述。但在Oracle使用表達式時應(yīng)注意NULL與其它數(shù)據(jù)的運算。NULL與任何類型數(shù)據(jù)作運算其結(jié)果均為NULL。8.3.2Oracle常量、變量和表達式但NULL具有以下特點:(1)等價于沒有任何值;(2)與0、空字符串或空格不同;(3)在WHERE條件中,Oracle認為結(jié)果為NULL的條件為FALSE,帶有這樣條件的SELECT語句不返回行,并且不返回錯誤信息,但NULL和FALSE是不同的;(4)排序時比其他數(shù)據(jù)都大;(5)空值不能被索引。雖然在某列上建立了索引,但是對該列的空值查詢來說,因為空值沒有被索引,