ORACLE的數(shù)據(jù)類型 -- ORACLE的數(shù)據(jù)類型

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供宜豐網(wǎng)站建設(shè)、宜豐做網(wǎng)站、宜豐網(wǎng)站設(shè)計(jì)、宜豐網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、宜豐企業(yè)網(wǎng)站模板建站服務(wù),十載宜豐做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
常用的數(shù)據(jù)庫(kù)字段類型如下:
字段類型 中文說(shuō)明 限制條件 其它說(shuō)明
CHAR 固定長(zhǎng)度字符串 最大長(zhǎng)度2000 bytes
VARCHAR2 可變長(zhǎng)度的字符串 最大長(zhǎng)度4000 bytes 可做索引的最大長(zhǎng)度749
NCHAR 根據(jù)字符集而定的固定長(zhǎng)度字符串 最大長(zhǎng)度2000 bytes
NVARCHAR2 根據(jù)字符集而定的可變長(zhǎng)度字符串 最大長(zhǎng)度4000 bytes
DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 經(jīng)過(guò)嚴(yán)格測(cè)試,無(wú)千蟲(chóng)問(wèn)題
LONG 超長(zhǎng)字符串 最大長(zhǎng)度2G(231-1) 足夠存儲(chǔ)大部頭著作
RAW 固定長(zhǎng)度的二進(jìn)制數(shù)據(jù) 最大長(zhǎng)度2000 bytes 可存放多媒體圖象聲音等
LONG RAW 可變長(zhǎng)度的二進(jìn)制數(shù)據(jù) 最大長(zhǎng)度2G 同上
BLOB 二進(jìn)制數(shù)據(jù) 最大長(zhǎng)度4G
CLOB 字符數(shù)據(jù) 最大長(zhǎng)度4G
NCLOB 根據(jù)字符集而定的字符數(shù)據(jù) 最大長(zhǎng)度4G
BFILE 存放在數(shù)據(jù)庫(kù)外的二進(jìn)制數(shù)據(jù) 最大長(zhǎng)度4G
ROWID 數(shù)據(jù)表中記錄的唯一行號(hào) 10 bytes ********.****.****格式,*為0或1
NROWID 二進(jìn)制數(shù)據(jù)表中記錄的唯一行號(hào) 最大長(zhǎng)度4000 bytes
NUMBER(P,S) 數(shù)字類型 P為整數(shù)位,S為小數(shù)位
DECIMAL(P,S) 數(shù)字類型 P為整數(shù)位,S為小數(shù)位
INTEGER 整數(shù)類型 小的整數(shù)
FLOAT 浮點(diǎn)數(shù)類型 NUMBER(38),雙精度
REAL 實(shí)數(shù)類型 NUMBER(63),精度更高
數(shù)據(jù)類型 參數(shù) 描述
char(n) n=1 to 2000字節(jié) 定長(zhǎng)字符串,n字節(jié)長(zhǎng),如果不指定長(zhǎng)度,缺省為1個(gè)字節(jié)長(zhǎng)(一個(gè)漢字為2字節(jié))
varchar2(n) n=1 to 4000字節(jié) 可變長(zhǎng)的字符串,具體定義時(shí)指明最大長(zhǎng)度n,這種數(shù)據(jù)類型可以放數(shù)字、字母以及ASCII碼字符集(或者EBCDIC等數(shù)據(jù)庫(kù)系統(tǒng)接受的字符集標(biāo)準(zhǔn))中的所有符號(hào)。
如果數(shù)據(jù)長(zhǎng)度沒(méi)有達(dá)到最大值n,Oracle 8i會(huì)根據(jù)數(shù)據(jù)大小自動(dòng)調(diào)節(jié)字段長(zhǎng)度,如果你的數(shù)據(jù)前后有空格,Oracle 8i會(huì)自動(dòng)將其刪去。VARCHAR2是最常用的數(shù)據(jù)類型。可做索引的最大長(zhǎng)度3209。
number(m,n) m=1 to 38
n=-84 to 127 可變長(zhǎng)的數(shù)值列,允許0、正值及負(fù)值,m是所有有效數(shù)字的位數(shù),n是小數(shù)點(diǎn)以后的位數(shù)。
如:number(5,2),則這個(gè)字段的最大值是99,999,如果數(shù)值超出了位數(shù)限制就會(huì)被截取多余的位數(shù)。
如:number(5,2),但在一行數(shù)據(jù)中的這個(gè)字段輸入575.316,則真正保存到字段中的數(shù)值是575.32。
如:number(3,0),輸入575.316,真正保存的數(shù)據(jù)是575。
date 無(wú) 從公元前4712年1月1日到公元4712年12月31日的所有合法日期,Oracle 8i其實(shí)在內(nèi)部是按7個(gè)字節(jié)來(lái)保存日期數(shù)據(jù),在定義中還包括小時(shí)、分、秒。
缺省格式為DD-MON-YY,如07-11月-00 表示2000年11月7日。
long 無(wú) 可變長(zhǎng)字符列,最大長(zhǎng)度限制是2GB,用于不需要作字符串搜索的長(zhǎng)串?dāng)?shù)據(jù),如果要進(jìn)行字符搜索就要用varchar2類型。long是一種較老的數(shù)據(jù)類型,將來(lái)會(huì)逐漸被BLOB、CLOB、NCLOB等大的對(duì)象數(shù)據(jù)類型所取代。
raw(n) n=1 to 2000 可變長(zhǎng)二進(jìn)制數(shù)據(jù),在具體定義字段的時(shí)候必須指明最大長(zhǎng)度n,Oracle 8i用這種格式來(lái)保存較小的圖形文件或帶格式的文本文件,如Miceosoft Word文檔。
raw是一種較老的數(shù)據(jù)類型,將來(lái)會(huì)逐漸被BLOB、CLOB、NCLOB等大的對(duì)象數(shù)據(jù)類型所取代。
long raw 無(wú) 可變長(zhǎng)二進(jìn)制數(shù)據(jù),最大長(zhǎng)度是2GB。Oracle 8i用這種格式來(lái)保存較大的圖形文件或帶格式的文本文件,如Miceosoft Word文檔,以及音頻、視頻等非文本文件。
在同一張表中不能同時(shí)有l(wèi)ong類型和long raw類型,long raw也是一種較老的數(shù)據(jù)類型,將來(lái)會(huì)逐漸被BLOB、CLOB、NCLOB等大的對(duì)象數(shù)據(jù)類型所取代。
blob /clob /nclob 無(wú) 三種大型對(duì)象(LOB),用來(lái)保存較大的圖形文件或帶格式的文本文件,如Miceosoft Word文檔,以及音頻、視頻等非文本文件,最大長(zhǎng)度是4GB。
LOB有幾種類型,取決于你使用的字節(jié)的類型,Oracle 8i實(shí)實(shí)在在地將這些數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi)部保存。
可以執(zhí)行讀取、存儲(chǔ)、寫入等特殊操作。
bfile 無(wú) 在數(shù)據(jù)庫(kù)外部保存的大型二進(jìn)制對(duì)象文件,最大長(zhǎng)度是4GB。
這種外部的LOB類型,通過(guò)數(shù)據(jù)庫(kù)記錄變化情況,但是數(shù)據(jù)的具體保存是在數(shù)據(jù)庫(kù)外部進(jìn)行的。
Oracle 8i可以讀取、查詢BFILE,但是不能寫入。
大小由操作系統(tǒng)決定。
按類型分為:字符串類型、數(shù)字類型、日期類型、LOB類型、LONG RAW RAW類型、ROWID UROWID類型。
在講敘字符串類型前,先要講一下編碼。字符串類型的數(shù)據(jù)可依編碼方式分成數(shù)據(jù)庫(kù)字符集(CHAR/VARCHAR2/CLOB/LONG)和國(guó)際字符集(NCHAR/NVARCHAR2/NCLOB)兩種。數(shù)據(jù)庫(kù)中的字符串?dāng)?shù)據(jù)都通過(guò)字符集將字符轉(zhuǎn)換為數(shù)字后(二進(jìn)制),才存儲(chǔ)到數(shù)據(jù)塊中。通過(guò)不同的編碼集轉(zhuǎn)換,即便是相同的字符,也可能會(huì)轉(zhuǎn)換成不同的二進(jìn)制編碼。這也是產(chǎn)生亂碼的原因。數(shù)據(jù)庫(kù)的編碼格式一般是在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指定的。當(dāng)然也可以修改數(shù)據(jù)庫(kù)的編碼。
一 字符串類型
1.1:CHAR類型 CHAR(size [BYTE | CHAR])
CHAR類型,定長(zhǎng)字符串,會(huì)用空格填充來(lái)達(dá)到其最大長(zhǎng)度。非NULL的CHAR(12)總是包含12字節(jié)信息。CHAR字段最多可以存儲(chǔ)2,000字節(jié)的信息。如果創(chuàng)建表時(shí),不指定CHAR長(zhǎng)度,則默認(rèn)為1。另外你可以指定它存儲(chǔ)字節(jié)或字符,例如 CHAR(12 BYTYE) CHAR(12 CHAR).一般來(lái)說(shuō)默認(rèn)是存儲(chǔ)字節(jié)
注意:數(shù)據(jù)庫(kù)的NLS_CHARACTERSET 為AL32UTF8,即一個(gè)漢字占用三到四個(gè)字節(jié)。如果NLS_CHARACTERSET為ZHS16GBK,則一個(gè)字符占用兩個(gè)字節(jié)。
1.2: NCHAR類型
這是一個(gè)包含UNICODE格式數(shù)據(jù)的定長(zhǎng)字符串。NCHAR字段最多可以存儲(chǔ)2,000字節(jié)的信息。它的最大長(zhǎng)度取決于國(guó)家字符集。
1.3 VARCHAR類型
不要使用VARCHAR數(shù)據(jù)類型。使用VARCHAR2數(shù)據(jù)類型。
1.4: VARCHAR2類型
變長(zhǎng)字符串,與CHAR類型不同,它不會(huì)使用空格填充至最大長(zhǎng)度。VARCHAR2最多可以存儲(chǔ)4,000字節(jié)的信息。
1.5: NVARCHAR2類型
這是一個(gè)包含UNICODE格式數(shù)據(jù)的變長(zhǎng)字符串。 NVARCHAR2最多可以存儲(chǔ)4,000字節(jié)的信息。
二. 數(shù)字類型
2.1 NUMBER類型
NUMBER(P,S)是最常見(jiàn)的數(shù)字類型,可以存放數(shù)據(jù)范圍為10130~10126(不包含此值),需要1~22字節(jié)(BYTE)不等的存儲(chǔ)空間。
P 是Precison的英文縮寫,即精度縮寫,表示有效數(shù)字的位數(shù),最多不能超過(guò)38個(gè)有效數(shù)字
S是Scale的英文縮寫,可以使用的范圍為-84~127。Scale為正數(shù)時(shí),表示從小數(shù)點(diǎn)到最低有效數(shù)字的位數(shù),它為負(fù)數(shù)時(shí),表示從最大有效數(shù)字到小數(shù)點(diǎn)的位數(shù)
下面是官方文檔的示例
Actual Data Specified As Stored As
123.89 NUMBER 123.89
123.89 NUMBER(3) 124
123.89 NUMBER(6,2) 123.89
123.89 NUMBER(6,1) 123.9
123.89 NUMBER(3) 124
123.89 NUMBER(4,2) exceeds precision
123.89 NUMBER(6,-2) 100
.01234 NUMBER(4,5).01234
.00012 NUMBER(4,5) .00012
.000127 NUMBER(4,5) .00013
.0000012 NUMBER(2,7) .0000012
.00000123 NUMBER(2,7) .0000012
1.2e-4 NUMBER(2,5) 0.00012
1.2e-5 NUMBER(2,5) 0.00001
2.2 INTEGER類型
INTEGER是NUMBER的子類型,它等同于NUMBER(38,0),用來(lái)存儲(chǔ)整數(shù)。若插入、更新的數(shù)值有小數(shù),則會(huì)被四舍五入。
2.3 浮點(diǎn)數(shù)
Oracle 數(shù)據(jù)庫(kù)提供了專為浮點(diǎn)數(shù)的兩種數(shù)值數(shù)據(jù)類型:
BINARY_FLOAT
BINARY_FLOAT 是 32 位、 單精度浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)類型。可以支持至少6位精度,每個(gè) BINARY_FLOAT 的值需要 5 個(gè)字節(jié),包括長(zhǎng)度字節(jié)。
BINARY_DOUBLE
BINARY_DOUBLE 是為 64 位,雙精度浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)類型。每個(gè) BINARY_DOUBLE 的值需要 9 個(gè)字節(jié),包括長(zhǎng)度字節(jié)。
在數(shù)字的列中,浮點(diǎn)數(shù)有小數(shù)精度。在 BINARY_FLOAT 或 BINARY_DOUBLE 的列中,浮點(diǎn)數(shù)有二進(jìn)制的精度。二進(jìn)制浮點(diǎn)數(shù)支持的特殊值無(wú)窮大和 NaN (不是數(shù)字)。
2.5 FLOAT類型
FLOAT類型也是NUMBER的子類型。
Float(n),數(shù) n 指示位的精度,可以存儲(chǔ)的值的數(shù)目。N 值的范圍可以從 1 到 126。若要從二進(jìn)制轉(zhuǎn)換為十進(jìn)制的精度,請(qǐng)將 n 乘以 0.30103。要從十進(jìn)制轉(zhuǎn)換為二進(jìn)制的精度,請(qǐng)用 3.32193 乘小數(shù)精度。126 位二進(jìn)制精度的最大值是大約相當(dāng)于 38 位小數(shù)精度。
三. 日期類型
日期類型用于存儲(chǔ)日期數(shù)據(jù),但是并不是使用一般的格式(2012-08-08)直接存儲(chǔ)到數(shù)據(jù)庫(kù)的。
3.1 DATE類型
DATE是最常用的數(shù)據(jù)類型,日期數(shù)據(jù)類型存儲(chǔ)日期和時(shí)間信息。雖然可以用字符或數(shù)字類型表示日期和時(shí)間信息,但是日期數(shù)據(jù)類型具有特殊關(guān)聯(lián)的屬性。為每個(gè)日期值,Oracle 存儲(chǔ)以下信息: 世紀(jì)、 年、 月、 日期、 小時(shí)、 分鐘和秒。一般占用7個(gè)字節(jié)的存儲(chǔ)空間。
3.2 TIMESTAMP類型
這是一個(gè)7字節(jié)或12字節(jié)的定寬日期/時(shí)間數(shù)據(jù)類型。它與DATE數(shù)據(jù)類型不同,因?yàn)門IMESTAMP可以包含小數(shù)秒,帶小數(shù)秒的TIMESTAMP在小數(shù)點(diǎn)右邊最多可以保留9位
3.3 TIMESTAMP WITH TIME ZONE類型
這是TIMESTAMP類型的變種,它包含了時(shí)區(qū)偏移量的值
3.4 TIMESTAMP WITH LOCAL TIME ZONE類型
3.5 INTERVAL YEAR TO MOTH
3.6 INTERVAL DAY TO SECOND
四. LOB類型
內(nèi)置的LOB數(shù)據(jù)類型包括BLOB、CLOB、NCLOB、BFILE(外部存儲(chǔ))的大型化和非結(jié)構(gòu)化數(shù)據(jù),如文本、圖像、視屏、空間數(shù)據(jù)存儲(chǔ)。BLOB、CLOB、NCLOB類型
4.1 CLOB 數(shù)據(jù)類型
它存儲(chǔ)單字節(jié)和多字節(jié)字符數(shù)據(jù)。支持固定寬度和可變寬度的字符集。CLOB對(duì)象可以存儲(chǔ)最多 (4 gigabytes-1) * (database block size) 大小的字符
4.2 NCLOB 數(shù)據(jù)類型
它存儲(chǔ)UNICODE類型的數(shù)據(jù),支持固定寬度和可變寬度的字符集,NCLOB對(duì)象可以存儲(chǔ)最多(4 gigabytes-1) * (database block size)大小的文本數(shù)據(jù)。
4.3 BLOB 數(shù)據(jù)類型
它存儲(chǔ)非結(jié)構(gòu)化的二進(jìn)制數(shù)據(jù)大對(duì)象,它可以被認(rèn)為是沒(méi)有字符集語(yǔ)義的比特流,一般是圖像、聲音、視頻等文件。BLOB對(duì)象最多存儲(chǔ)(4 gigabytes-1) * (database block size)的二進(jìn)制數(shù)據(jù)。
4.4 BFILE 數(shù)據(jù)類型
二進(jìn)制文件,存儲(chǔ)在數(shù)據(jù)庫(kù)外的系統(tǒng)文件,只讀的,數(shù)據(jù)庫(kù)會(huì)將該文件當(dāng)二進(jìn)制文件處理
五. RAW LONG RAW類型
5.1 LONG類型
它存儲(chǔ)變長(zhǎng)字符串,最多達(dá)2G的字符數(shù)據(jù)(2GB是指2千兆字節(jié), 而不是2千兆字符),與VARCHAR2 或CHAR 類型一樣,存儲(chǔ)在LONG 類型中的文本要進(jìn)行字符集轉(zhuǎn)換。ORACLE建議開(kāi)發(fā)中使用CLOB替代LONG類型。支持LONG 列只是為了保證向后兼容性。CLOB類型比LONG類型的限制要少得多。 LONG類型的限制如下:
1.一個(gè)表中只有一列可以為L(zhǎng)ONG型。(Why?有些不明白)
2.LONG列不能定義為主鍵或唯一約束,
3.不能建立索引
4.LONG數(shù)據(jù)不能指定正則表達(dá)式。
5.函數(shù)或存儲(chǔ)過(guò)程不能接受LONG數(shù)據(jù)類型的參數(shù)。
6.LONG列不能出現(xiàn)在WHERE子句或完整性約束(除了可能會(huì)出現(xiàn)NULL和NOT NULL約束)
5.2 LONG RAW 類型,能存儲(chǔ)2GB 的原始二進(jìn)制數(shù)據(jù)(不用進(jìn)行字符集轉(zhuǎn)換的數(shù)據(jù))
5.3 RAW類型
用于存儲(chǔ)二進(jìn)制或字符類型數(shù)據(jù),變長(zhǎng)二進(jìn)制數(shù)據(jù)類型,這說(shuō)明采用這種數(shù)據(jù)類型存儲(chǔ)的數(shù)據(jù)不會(huì)發(fā)生字符集轉(zhuǎn)換。這種類型最多可以存儲(chǔ)2,000字節(jié)的信息
六. ROWID UROWID類型
在數(shù)據(jù)庫(kù)中的每一行都有一個(gè)地址。然而,一些表行的地址不是物理或永久的,或者不是ORACLE數(shù)據(jù)庫(kù)生成的。
例如,索引組織表行地址存儲(chǔ)在索引的葉子,可以移動(dòng)。
例如,外部表的ROWID(如通過(guò)網(wǎng)關(guān)訪問(wèn)DB2表)不是標(biāo)準(zhǔn)的ORACLE的rowid。
ORACLE使用通用的ROWID(UROWIDs)的存儲(chǔ)地址的索引組織表和外表。索引組織表有邏輯urowids的,和國(guó)外表的外urowids。UROWID這兩種類型的存儲(chǔ)在ROWID偽(堆組織的表的物理行id)。
創(chuàng)建基于邏輯的rowid在表中的主鍵。邏輯的rowid不會(huì)改變,只要主鍵不改變。索引組織表的ROWID偽UROWID數(shù)據(jù)類型。你可以訪問(wèn)這個(gè)偽列,你會(huì)堆組織表的ROWID偽(即使用一個(gè)SELECT …ROWID語(yǔ)句)。如果你想存儲(chǔ)的rowid索引組織表,那么你就可以定義一列的表型UROWID到列檢索值的ROWID偽。
Oracle在關(guān)系數(shù)據(jù)庫(kù)外,融入了面向?qū)ο蟮脑兀热缈梢詣?chuàng)建type,type之間可以繼承,type可以帶構(gòu)造函數(shù)、排序函數(shù)、各種各樣的成員函數(shù)、存儲(chǔ)過(guò)程等等。
對(duì)象表是指該表的一行就是一個(gè)對(duì)象,有一個(gè)OID(object ID),對(duì)象表之間沒(méi)有主外鍵關(guān)聯(lián)的概念,為了體現(xiàn)這層關(guān)系,oracle中用了ref對(duì)象來(lái)實(shí)現(xiàn)。
下面例子,創(chuàng)建一個(gè)地址類型,一個(gè)人員類型,人員有地址屬性,所以在人員類型中設(shè)置一個(gè)ref address來(lái)確定指向他所在地址的指針。
--創(chuàng)建地址類型
create type address as object(
street varchar2(35),
city varchar2(15),
state char(2),
zip_code integer
);
create table addresses of address; --創(chuàng)建地址對(duì)象表--創(chuàng)建人員類型
create type person as object(
first_name varchar2(15),
last_name varchar2(15),
birthday date,
home_address ref address, --指向?qū)?yīng)的地址,該地址應(yīng)該在另外一個(gè)對(duì)象表中的一行phone_number varchar2(15)
);
CREATE TABLE persons of person; --創(chuàng)建人員對(duì)象表--插入一個(gè)地址
insert into addresses values(address('nanhai','shenzhen','gd','518054'));insert into addresses values(address('shennan','shenzhen','gd','518057'));--插入一個(gè)人員,注意這里的home_address部分是如何插入一個(gè)ref address的。
insert into persons values(person('shitou','haha',to_date('1982-07-05','yyyy-mm-dd'),(select ref(a) from addresses a where street='nanhai'),'1355555555'));
--也可以用下面的過(guò)程來(lái)插入一個(gè)人員記錄
declare
addref ref address ;
begin
select ref(a) into addref from addresses a where street='nanhai';insert into persons
values (person('shitou','haha',to_date('1982-07-05','yyyy-mm-dd'),addref,'1355555555'));
commit;
end;
--查詢某人的地址信息
select first_name,deref(home_address) from persons;--修改地址
update persons set home_address=(select ref(a) from addresses a where street='shennan');--刪除某個(gè)人員
delete from persons where first_name='shitou';--刪除某個(gè)地址的相關(guān)人員記錄
delete from persons where home_address=(select ref(a) from addresses a where street='nanhai');
oracle:Number(p,s):
P和s都是可選的。
P指精度(precision),即總位數(shù)。默認(rèn)情況下精度為38。精度的取值范圍為1~38。
S指小數(shù)位(scale),小數(shù)點(diǎn)右邊的位數(shù)。小數(shù)點(diǎn)位數(shù)的合法值為-84~127。小數(shù)位的默認(rèn)值由精度來(lái)決定。如果沒(méi)有指定精度,小數(shù)位默認(rèn)為最大的取值區(qū)間。如果指定了精度,沒(méi)有指定小數(shù)位。小數(shù)位默認(rèn)為0(即沒(méi)有小數(shù)位)。
精度和小數(shù)位不會(huì)影響數(shù)據(jù)如何存儲(chǔ),只會(huì)影響允許哪些數(shù)值及數(shù)值如何舍入。
Oracle 自定義TYPE 的幾種用法
Oracle中的類型有很多種,主要可以分為以下幾類:
1、字符串類型。如:char、nchar、varchar2、nvarchar2。
2、數(shù)值類型。如:int、number(p,s)、integer、smallint。
3、日期類型。如:date、interval、timestamp。
4、PL/SQL類型。如:pls_integer、binary_integer、binary_double(10g)、binary_float(10g)、boolean。plsql類型是不能在sql環(huán)境中使用的,比如建表時(shí)。
5、自定義類型。
下面簡(jiǎn)單的枚舉下常用的幾種自定義類型。
1、子類型。
這種類型最簡(jiǎn)單,類似類型的一個(gè)別名,主要是為了對(duì)常用的一些類型簡(jiǎn)單化,它基于原始的某個(gè)類型。如:
有些應(yīng)用會(huì)經(jīng)常用到一些貨幣類型:number(16,2)。如果在全局范圍各自定義這種類型,一旦需要修改該類型的精度,則需要一個(gè)個(gè)地修改。
那如何實(shí)現(xiàn)定義的全局化呢?于是就引出了子類型:
subtype cc_num is number(16,2);
這樣就很方便地解決了上述的麻煩。
2、普通類型
如:
create or replace type typ_calendar as object(
年 varchar2(8),
月 varchar2(8),
星期日 varchar2(8),
星期一 varchar2(8),
星期二 varchar2(8),
星期三 varchar2(8),
星期四 varchar2(8),
星期五 varchar2(8),
星期六 varchar2(8),
本月最后一日 varchar2(2)
);
這種類型可以在表結(jié)構(gòu)定義的時(shí)候使用:
create table tcalendar of typ_calendar;
插入數(shù)據(jù)測(cè)試:
SQL insert into tcalendar
2 select typ_calendar('2010','05','1','2','3','4','5','6','7','31') from dual
3 /
注意:插入的數(shù)據(jù)需要用typ_calendar進(jìn)行轉(zhuǎn)換。
1 row inserted
--查看結(jié)果
SQL select * from tcalendar;
工具/原料
SQL Developer
安裝oracle的電腦
oracle任一版本,如oracle11g、oracle10g
方法/步驟
1 打開(kāi)電腦,登錄系統(tǒng),打開(kāi)電腦開(kāi)始菜單,找到SQL Developer應(yīng)用程序,一般目錄如下:Oracle Oracle11g_home1--應(yīng)用程序開(kāi)發(fā)--SQL Developer。
2 點(diǎn)擊SQL Developer應(yīng)用程序,第一次打開(kāi)時(shí),會(huì)提示配置java.exe,找到oracle安裝目錄下的java.exe程序即可。
3 配置好java路徑后,點(diǎn)擊ok,進(jìn)入配置文件類型關(guān)聯(lián)配置,此處選擇SQL關(guān)聯(lián)即可,確定。
分享名稱:oracle類型怎么用,oracle語(yǔ)句有多少類型
文章出自:http://chinadenli.net/article17/dsghddj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站內(nèi)鏈、網(wǎng)站收錄、定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)