COUNT方法
返回集合中元素的个数,不计算被DELETE的元素。
(1)可变数组的COUNT
COUNT始终 = LAST,如果使用extend或trim增加或减小可变数组,则count随之改变。
DECLARE TYPE NumList IS VARRAY(10) OF INTEGER; n NumList := NumList(1, 3, 5, 7);
PROCEDURE print_count_and_last (heading VARCHAR2) IS BEGIN DBMS_OUTPUT.PUT_LINE(heading); DBMS_OUTPUT.PUT('n.COUNT = ' || n.COUNT || ', '); DBMS_OUTPUT.PUT_LINE('n.LAST = ' || n.LAST); END print_count_and_last; BEGIN
print_count_and_last('初始');
n.EXTEND(3); print_count_and_last('扩展了3个元素后');
n.TRIM(5); print_count_and_last('trim第5个元素后'); END;
|
(2)嵌套表的COUNT
嵌套表的count = last,除了当在嵌套表中间删除元素外,此时count < last
DECLARE TYPE NumList IS TABLE OF INTEGER; n NumList := NumList(1, 3, 5, 7); PROCEDURE print_count_and_last(heading VARCHAR2) IS BEGIN DBMS_OUTPUT.PUT(heading); DBMS_OUTPUT.PUT('n.COUNT = ' || n.COUNT || ', '); DBMS_OUTPUT.PUT_LINE('n.LAST = ' || n.LAST); END print_count_and_last; BEGIN print_count_and_last('初始'); n.DELETE(3); print_count_and_last('删除第3个元素后'); n.EXTEND(2); print_count_and_last('扩展2个空元素后'); FOR i IN 1..8 LOOP IF n.EXISTS(i) THEN IF n(i) IS NOT NULL THEN DBMS_OUTPUT.PUT_LINE('n(' || i || ') = ' || n(i)); ELSE DBMS_OUTPUT.PUT_LINE('n(' || i || ') = NULL'); END IF; ELSE DBMS_OUTPUT.PUT_LINE('n(' || i || ') 不存在'); END IF; END LOOP; END;
|
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1116052/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1116052/