程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle VARRAY的實際應用簡介

Oracle VARRAY的實際應用簡介

編輯:Oracle數據庫基礎

Oracle VARRAY(變長數組)通俗的講就是一個存儲有序的元素集合,而其每個元素都有一個相關索引,該索引相對應元素在數組中的位置。變長數組存在大小的限制,但是可以動態進行更改。

創建變長數組語句:

  1. Create Type varray_phone as varray(3) of varchar2(50); 

接下來應用這個變長數組,先創建一個人員表,人員表中擁有一列電話,類型是變長數組,意思是這個人,可能有一個電話號碼,也可能有2個,最多3個。

  1. create table person3  
  2. (  
  3. id integer constraint person3_pk primary key,  
  4. first_name varchar(20),  
  5. last_name varchar(20),  
  6. phone varray_phone  
  7. )  

填充變長數組

  1. insert into person3 values(1,'yuan','weixiang',varray_phone('12345','34567','56789'));  
  2. SQL> select * from person3;  
  3. ID FIRST_NAME LAST_NAME PHONE  

1 yuan weixiang Oracle VARRAY_PHONE('12345', '34567', '56789')

表明該用戶擁有3個電話號碼。

當什麼內容不添加的時候,查詢結果如下:

  1. insert into person3 values(2,'hao','lihai',varray_phone());  
  2. SQL> select * from person3;  
  3. ID FIRST_NAME LAST_NAME PHONE  

1 yuan weixiang VARRAY_PHONE('12345', '34567', '56789')

2 hao lihai VARRAY_PHONE()

修改變長數組中的元素

  1. update person3 set phonevarray_phone('12345','34567') where id = 2;  
  2. ID FIRST_NAME LAST_NAME PHONE  

1 yuan weixiang VARRAY_PHONE('12345', '34567', '56789')

2 hao lihaiOracle VARRAY_PHONE('12345', '34567')

數據字典

user_varrays表

all_varrays表

修改變長數組的元素的長度大小

  1. Alter type varray_phone  
  2. modify element type varchar2(60) cascade  

cascade選項把更改傳播到數據庫中的依賴對象 Person3就是依賴對象

修改變長數組元素的數目

  1. alter type varray_phone modify limit 5 cascade 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved