Oracle VARRAY的實(shí)際應(yīng)用簡(jiǎn)介
Oracle VARRAY(變長(zhǎng)數(shù)組)通俗的講就是一個(gè)存儲(chǔ)有序的元素集合,而其每個(gè)元素都有一個(gè)相關(guān)索引,該索引相對(duì)應(yīng)元素在數(shù)組中的位置。變長(zhǎng)數(shù)組存在大小的限制,但是可以動(dòng)態(tài)進(jìn)行更改。
創(chuàng)建變長(zhǎng)數(shù)組語(yǔ)句:
- Create Type varray_phone as varray(3) of varchar2(50);
接下來(lái)應(yīng)用這個(gè)變長(zhǎng)數(shù)組,先創(chuàng)建一個(gè)人員表,人員表中擁有一列電話,類型是變長(zhǎng)數(shù)組,意思是這個(gè)人,可能有一個(gè)電話號(hào)碼,也可能有2個(gè),最多3個(gè)。
- create table person3
- (
- id integer constraint person3_pk primary key,
- first_name varchar(20),
- last_name varchar(20),
- phone varray_phone
- )
填充變長(zhǎng)數(shù)組
- insert into person3 values(1,'yuan','weixiang',varray_phone('12345','34567','56789'));
- SQL> select * from person3;
- ID FIRST_NAME LAST_NAME PHONE
1 yuan weixiang Oracle VARRAY_PHONE('12345', '34567', '56789')
表明該用戶擁有3個(gè)電話號(hào)碼。
當(dāng)什么內(nèi)容不添加的時(shí)候,查詢結(jié)果如下:
- insert into person3 values(2,'hao','lihai',varray_phone());
- SQL> select * from person3;
- ID FIRST_NAME LAST_NAME PHONE
1 yuan weixiang VARRAY_PHONE('12345', '34567', '56789')
2 hao lihai VARRAY_PHONE()
修改變長(zhǎng)數(shù)組中的元素
- update person3 set phone= varray_phone('12345','34567') where id = 2;
- ID FIRST_NAME LAST_NAME PHONE
1 yuan weixiang VARRAY_PHONE('12345', '34567', '56789')
2 hao lihaiOracle VARRAY_PHONE('12345', '34567')
數(shù)據(jù)字典
user_varrays表
all_varrays表
修改變長(zhǎng)數(shù)組的元素的長(zhǎng)度大小
- Alter type varray_phone
- modify element type varchar2(60) cascade
cascade選項(xiàng)把更改傳播到數(shù)據(jù)庫(kù)中的依賴對(duì)象 Person3就是依賴對(duì)象
修改變長(zhǎng)數(shù)組元素的數(shù)目
- alter type varray_phone modify limit 5 cascade
上述的相關(guān)內(nèi)容就是對(duì)Oracle VARRAY的描述,希望會(huì)給你帶來(lái)一些幫助在此方面。
【編輯推薦】
- Oracle內(nèi)存結(jié)構(gòu)的相關(guān)篇SGA
- Oracle安裝腳本的相關(guān)代碼介紹
- Oracle體系結(jié)構(gòu)中的基本概念,數(shù)據(jù)庫(kù)的介紹
- Oracle體系結(jié)構(gòu)實(shí)例的相關(guān)內(nèi)容介紹
- Windows 7下安裝Oracle 11g相關(guān)問(wèn)題解決方法