-- Created on 2009-4-22 by ADMINISTRATOR declare -- Local variables here i integer; type ARR_1 is table of varchar2(20) index by BINARY_INTEGER; --定义的一个 联合数组 不能初始化 arr ARR_1;
--定义一个嵌套表 需要初始化 没有规定最大元素个数 TYPE ARR_2 IS TABLE OF VARCHAR2(20); arr_02 ARR_2:=ARR_2('A','B','C');
--定义一个 可变数组 需要初始化 规定最大元素个数是5 TYPE ARR_3 IS VARRAY(10) OF VARCHAR2(20); --TYPE ARR_3 IS VARYING ARRAY(5) OF VARCHAR2(20); arr_03 ARR_3:=ARR_3('a','b','c'); begin -- 联合数组 arr(-1):=' A '; arr(5):=' B '; dbms_output.put_line(arr(-1)||arr(5)||'元素中个数:'||arr.count); arr.delete(-1,5); dbms_output.put_line('arr元素中个数:'||arr.count);
--使用嵌套表 dbms_output.put_line('arr_02元素中个数:'||arr_02.count); for i in 1..arr_02.count loop dbms_output.put_line(arr_02(i)); end loop; --arr_02(4):='fads'; 这里将会出错 提示信息:超出下标 arr_02.delete(1); --删除第一个元素 arr_02.delete(1,3); --删除 1,2 dbms_output.put_line('arr_02元素中个数:'||arr_02.count);
--可变数组 -- arr_03(4):='fads'; 仍然要出错 dbms_output.put_line('元素中个数:'||arr_03.count); for i in 1..arr_03.count loop dbms_output.put_line(arr_03(i)); end loop; IF arr_03.exists(4) then dbms_output.put_line('arr_03存在第四个元素'); else dbms_output.put_line('arr_03不存在第四个元素'); end if; arr_03.extend(2,1); --在两个位于1处的 元素 添加到末尾 --extend;//添加一个空元素到最后 --extend(2);添加两个NULL 到元素最后 arr_03(3):='d'; arr_03(4):='e'; dbms_output.put_line('arr_03添加了元素'); for i in 1..arr_03.count loop dbms_output.put_line(arr_03(i)); end loop; DBMS_OUTPUT.PUT_LINE('ARR_03最后一个元素下标是:'||arr_03.LAST); DBMS_OUTPUT.PUT_LINE('ARR_03第一个元素下标是:'||arr_03.FIRST); DBMS_OUTPUT.PUT_LINE('ARR_03第一个的下一个元素下标是:'||arr_03.NEXT(1)); DBMS_OUTPUT.PUT_LINE('ARR_03第三元素是:'||arr_03.PRIOR(4));
dbms_output.put_line('嵌套表的上限: '||arr_02.limit); dbms_output.put_line('可变数组上限: '||arr_03.limit);
DBMS_OUTPUT.PUT_LINE('删除 最后两个元素'); arr_03.trim(2);--arr_03.trim();删除最后一个 dbms_output.put_line('arr_03现在的集合的元素个数'||arr_03.count); end;
|
运行结果:
A B 元素中个数:2 arr元素中个数:0 arr_02元素中个数:3 A B C arr_02元素中个数:0 元素中个数:3 a b c arr_03不存在第四个元素 arr_03添加了元素 a b d e a ARR_03最后一个元素下标是:5 ARR_03第一个元素下标是:1 ARR_03第一个的下一个元素下标是:2 ARR_03第三元素是:3 嵌套表的上限: 可变数组上限: 10 删除 最后两个元素 arr_03现在的集合的元素个数3
集合: 联合数组,嵌套表,可变数组
函数 列表: count: 指出元素个数 包括NULL 元素 exists(x):判断是x下标处元素否存在 extend: 在集合最后插入一个空元素 extend(x):在集合最后插入X个NULL元素 extend(x,y):在集合最后插入x个 Y位置的元素 FRIST:第一个元素下标 LAST:最后一个元素的下标 NEXT:下一个元素的下标 PRIOR:上一个于元素的下标 LIMIT:元素集合的上限数量 嵌套表的limit是 空 TRIM:删除集合最后一个元素 TRIM(X): 删除集合最后X个元素 DELETE:删除所有元素 DELETE(X):删除下标是X的元素 DELETE(X,Y):删除第X 到 Y 的元素,不包括Y |
因网易博客关闭,搬迁至此,写于:2010-03-07 12:07:07