欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

PLSQL集合-創(chuàng)新互聯(lián)

PLSQL集合

索引表

---創(chuàng)建索引表類型的語法如下所示:

TYPE type_name IS TABLE OF element_type

  INDEX BY index_type;

table_name TYPE_NAME;

--其中,element_type 指明集合中存放的數(shù)據(jù)的類型

--index_type指定下標(biāo)的類型。只能是整型或者字符串

--使用下標(biāo)來引用索引表中的單個元素,如下所示:

table_name(index);

---示例1:分別聲明一個游標(biāo)和一個索引表類型,游標(biāo)

--從student表中檢索出前10個學(xué)生的姓名。遍歷游標(biāo),

--將每個學(xué)生的姓名保存到一個索引表類型的集合中,

--然后從集合中取出每個學(xué)生的姓名打印到屏幕上

declare   --聲明游標(biāo),保存10個學(xué)生姓名  cursor c_student is    select last_name      from student      where rownum <= 10;    --聲明索引表集合類型  type last_name_type is table of student.last_name%type    index by pls_integer;      --聲明集合變量  last_name_tab last_name_type;   --聲明下標(biāo)變量  v_index pls_integer := 0; begin   --遍歷游標(biāo)   forr_student in c_student loop    v_index := v_index + 1;    --將學(xué)生姓名保存到集合中    last_name_tab(v_index) := r_student.last_name;    endloop;   --遍歷集合   fori in 1..10 loop    dbms_output.put_line( last_name_tab(i));   endloop;   --注意:引用不存在的集合元素會拋出NO_DATA_FOUND異常。   --例如  --dbms_output.put_line(last_name_tab(11)); end;

嵌套表

創(chuàng)建嵌套表的語法如下所示:

TYPE type_name IS TABLEOF element_type;

table_name TYPE_NAME;

--該聲明非常類似于索引表的聲明,只是沒有INDEXBY子句。

--嵌套表的下標(biāo)類型固定為Integer整型

declare   --聲明游標(biāo),保存10個學(xué)生姓名  cursor c_student is    select last_name      from student      where rownum <= 10;      --聲明嵌套表集合類型  type last_name_type is table of student.last_name%type;   --聲明集合變量。必須使用構(gòu)造器函數(shù)進行初始化   last_name_tab last_name_type := last_name_type();   --聲明下標(biāo)變量   v_indexpls_integer := 0; begin   --遍歷游標(biāo)   forr_student in c_student loop    v_index := v_index + 1;    --必須調(diào)用extend方法添加存儲空間     last_name_tab.extend;         --和數(shù)組一樣,每賦值一個元素需調(diào)用extend    --將學(xué)生姓名保存到集合中    last_name_tab(v_index) := r_student.last_name;    endloop;   --遍歷集合   fori in 1..10 loop    dbms_output.put_line( last_name_tab(i));   endloop;  end;

變長數(shù)組

創(chuàng)建變長數(shù)組的語法如下所示:

TYPE type_name IS VARRAY(size_limit) OFelement_type ;

varray_name TYPE_NAME;

--size_limit:大元素個數(shù)

--它和嵌套表類型的區(qū)別是:他有大元素個數(shù)限制

--修改上例,使用保長數(shù)組類型

declare   --聲明游標(biāo),保存10個學(xué)生姓名  cursor c_student is    select last_name      from student      where rownum <= 10;   --聲明變長數(shù)組集合類型   type last_name_type is varray(10) of student.last_name%type;    --聲明集合變量。必須使用構(gòu)造器函數(shù)進行初始化   last_name_tab last_name_type := last_name_type();   --聲明下標(biāo)變量  v_index pls_integer := 0; begin   --遍歷游標(biāo)   forr_student in c_student loop    v_index := v_index + 1;    --必須調(diào)用extend方法添加存儲空間     last_name_tab.extend;   --每賦值一個元素需調(diào)用extend    --將學(xué)生姓名保存到集合中    last_name_tab(v_index) := r_student.last_name;    endloop;   --遍歷集合   fori in 1..10 loop    dbms_output.put_line( last_name_tab(i));   endloop;  end;

--可見,變長數(shù)組在編碼使用的限制和嵌套表完全相同。

二維數(shù)組

Oracle 9i開始,PL/SQL允許創(chuàng)建元素類型為集合類型的集合。這種集合被稱為多層集合。

二維數(shù)組:有一個一維數(shù)組,其中的每個元素又是一個一維數(shù)組,那么這個一維數(shù)組叫做二維數(shù)組。

為引用這個多層集合中單獨的元素,需要使用如下語法:

varray_name(subscript of the outer varray)

          (subscript of the inner varray)

declare   --聲明變長數(shù)組類型   typevarray_type1 is varray(4) of number;   --聲明多層集合(二維數(shù)組)   typevarray_type2 is varray(3) of varray_type1;   varray1varray_type1 := varray_type1(2,4,6,8);   varray2varray_type2 := varray_type2(varray1); begin  varray2.extend;  --調(diào)用extend   varray2(2):= varray_type1(1,3,5,7);  varray2.extend;  --調(diào)用extend   varray2(3):= varray_type1(8,8,8,8);    --遍歷集合   for i in1..3 loop     for j in1..4 loop       dbms_output.put_line('varray2('||i||')('||j       ||')='||varray2(i)(j));     end loop;   end loop;  dbms_output.put_line('-------------------------------');     --遍歷集合,實際的寫法   for i invarray2.first..varray2.last loop     for j invarray2(i).first..varray2(i).last loop      dbms_output.put_line('varray2('||i||')('||j       ||')='||varray2(i)(j));     end loop;   end loop; end; /

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞名稱:PLSQL集合-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://www.chinadenli.net/article8/dhciip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站面包屑導(dǎo)航微信小程序云服務(wù)器小程序開發(fā)域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站