PLSQL Language Referenc-PL/SQL集合和記錄-多維集合
多維集合
儘管集合只有一維,但可以構造一個多維集合,即一個集合的元素也是集合。
DECLARE --二維可變陣列(可以是鋸齒形的) TYPE t1 IS VARRAY(10) OF INTEGER; -- 整形動態陣列 va t1 := t1(1,2,3); TYPE nt1 IS VARRAY(10) OF t1; -- 陣列的陣列 nva nt1 := nt1(va, t1(4,5,6), t1(7,8), va); tmp INTEGER; va1 t1; BEGIN dbms_output.put_line('第1次'); FOR i IN 1..nva.COUNT LOOP FOR j IN 1..nva(i).count LOOP dbms_output.put(nva(i)(j) || ', '); END LOOP; dbms_output.put_line(NULL); END LOOP; nva.EXTEND; nva(5) := t1(9, 10); -- 改變內部動態陣列元素 nva(4) := t1(11,12,13,14); -- 改變內部動態陣列元素 nva(4)(4) := 15; -- 將14改變為15 dbms_output.put_line('第2次'); FOR i IN 1..nva.COUNT LOOP FOR j IN 1..nva(i).count LOOP dbms_output.put(nva(i)(j) || ', '); END LOOP; dbms_output.put_line(NULL); END LOOP; nva(4).EXTEND; -- 給第4個動態陣列元素,擴充套件空間 nva(4)(5) := 16; -- 儲存89 dbms_output.put_line('第3次'); FOR i IN 1..nva.COUNT LOOP FOR j IN 1..nva(i).count LOOP dbms_output.put(nva(i)(j) || ', '); END LOOP; dbms_output.put_line(NULL); END LOOP; END;
|
--巢狀表的巢狀表 DECLARE TYPE tb1 IS TABLE OF VARCHAR2(20); -- 字串巢狀表 vtb1 tb1 := tb1('AAAA', 'BBBB'); TYPE ntb1 IS TABLE OF tb1; -- 巢狀表,它的元素為巢狀表 vntb1 ntb1 := ntb1(vtb1); TYPE tv1 IS VARRAY(10) OF INTEGER; -- 動態陣列 TYPE ntb2 IS TABLE OF tv1; -- 巢狀表,元素為動態陣列 vntb2 ntb2 := ntb2(tv1(1, 2), tv1(3, 4, 5)); str VARCHAR2(20); v_tb_tmp tb1; BEGIN dbms_output.put_line('輸出vntb1'); FOR i IN 1..vntb1.count LOOP FOR j IN 1..vntb1(i).count LOOP dbms_output.put(vntb1(i)(j) || ', '); END LOOP; dbms_output.put_line(NULL); END LOOP; dbms_output.put_line('輸出vntb2'); FOR i IN 1..vntb2.count LOOP FOR j IN 1..vntb2(i).count LOOP dbms_output.put(vntb2(i)(j) || ', '); END LOOP; dbms_output.put_line(NULL); END LOOP; vntb1.EXTEND; vntb1(2) := vntb1(1); vntb1.DELETE(1); -- 刪除vntb1的第1個元素 vntb1(2).DELETE(1); -- 刪除vnt1的第2個元素中的第1個字串 dbms_output.put_line('輸出vntb1'); dbms_output.put_line(vntb1(2)(2));
END;
|
--關聯陣列的關聯陣列 DECLARE TYPE AssociateArray IS TABLE OF INTEGER INDEX BY PLS_INTEGER; -- 關聯陣列 v4 AssociateArray; v5 AssociateArray; |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1107992/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PLSQL Language Referenc-PL/SQL集合和記錄-集合型別SQL型別
- PLSQL Language Referenc-PL/SQL集合和記錄-集合構造器SQL
- PLSQL Language Referenc-PL/SQL集合和記錄-巢狀表SQL巢狀
- PLSQL Language Referenc-PL/SQL集合和記錄-使用記錄更新行SQL
- PLSQL Language Referenc-PL/SQL集合和記錄-關聯陣列SQL陣列
- PLSQL Language Referenc-PL/SQL集合和記錄-記錄更新和插入的限制SQL
- PLSQL Language Referenc-PL/SQL集合和記錄-集合比較-比較巢狀表是否相等SQL巢狀
- PLSQL Language Referenc-PL/SQL集合和記錄-記錄比較-將記錄插入到表中SQL
- PLSQL Language Referenc-PL/SQL集合和記錄-集合變數賦值-資料的相容性SQL變數賦值
- PLSQL Language Referenc-PL/SQL集合和記錄-集合變數賦值-將集合操作結果賦給巢狀表SQL變數賦值巢狀
- PLSQL Language Referenc-PL/SQL集合和記錄-使用Multiset Conditions比較巢狀表SQL巢狀
- PLSQL Language Referenc-PL/SQL集合和記錄-關聯陣列-宣告關聯陣列常量SQL陣列
- PLSQL Language Referenc-PL/SQL集合和記錄-集合比較-和NULL比較可變陣列和巢狀表變數SQLNull陣列巢狀變數
- PLSQL Language Referenc-PL/SQL集合和記錄-集合變數賦值-給可變陣列和巢狀表賦NULL值SQL變數賦值陣列巢狀Null
- PLSQL Language Referenc-PL/SQL集合和記錄-可變陣列-正確地使用可變陣列SQL陣列
- PLSQL Language Referenc-PL/SQL集合和記錄-關聯陣列-正確地使用關聯陣列SQL陣列
- PLSQL Language Referenc-PL/SQL集合和記錄-NSL引數值對字串索引的關聯陣列的影響SQL字串索引陣列
- PLSQL Language Referenc-PL/SQL子程式-前向宣告SQL
- PLSQL Language Referenc-PL/SQL子程式-子程式呼叫SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-事務處理和控制SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-自治事務(二)SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數SQL變數
- PLSQL Language Referenc-PL/SQL子程式-使用子程式的原因SQL
- PLSQL Language Referenc-PL/SQL動態SQL-何時需要動態SQLSQL
- PLSQL Language Referenc-PL/SQL靜態SQL-事務處理和控制-savepoint語句SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-偽列SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-語句SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-事務處理和控制-隱式回滾SQL
- PLSQL Language Referenc-PL/SQL動態SQL-本地動態SQL(EXECUTE IMMEDIATE語句)SQL
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-FOR迴圈-下限和上限SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-自治事務-控制自治事務SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-查詢結果集處理SQL
- PLSQL Language Referenc-PL/SQL控制語句-順序控制語句-NULLSQLNull
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-FOR迴圈SQL
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-CONTINUESQL
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-EXIT WHENSQL
- PLSQL Language Referenc-PL/SQL子程式-巢狀、包和獨立的儲存子程式SQL巢狀
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-WHILE迴圈SQLWhile