PLSQL Language Referenc-PL/SQL集合和记录-集合方法-COUNT方法

COUNT方法

返回集合中元素的个数,不计算被DELETE的元素。

1)可变数组的COUNT

COUNT始终 = LAST,如果使用extendtrim增加或减小可变数组,则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('trim5个元素后');

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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值