type rd_djb_TAB_ROC_tmp is record(
    v_TEMPLATEID djb_TAB_PRCPLNTEMPLATEPROC_tmp.TEMPLATEID%type,
    v_SEQUENCE   djb_TAB_PRCPLNTEMPLATEPROC_tmp.SEQUENCE%type,
    v_CONTENT    djb_TAB_PRCPLNTEMPLATEPROC_tmp.CONTENT%type,
    v_CONTENT_y  djb_TAB_PRCPLNTEMPLATEPROC_tmp.CONTENT_y%type,
    tree_level   djb_TAB_PRCPLNTEMPLATEPROC_tmp.tree_level%type,
    V_ANALY      djb_TAB_PRCPLNTEMPLATEPROC_tmp.V_ANALY%type,
    v_p_node     djb_TAB_PRCPLNTEMPLATEPROC_tmp.SEQUENCE%type,
    v_node_group djb_TAB_PRCPLNTEMPLATEPROC_tmp.SEQUENCE%type)TYPE tb_type_array IS TABLE OF rd_djb_TAB_ROC_tmp INDEX BY BINARY_INTEGER;tb_proc     tb_type_array;
i := tb_proc.count;问题: 红色字体是不是指得是列表的存储的记录数(就是多少条记录)??

解决方案 »

  1.   

    SQL> set serveroutput on;
    SQL> DECLARE
      2    TYPE t_arr IS TABLE OF VARCHAR2(20) INDEX BY PLS_INTEGER;
      3    a t_arr;
      4  BEGIN
      5    FOR i IN 1 .. 10 LOOP
      6      a(i) := '元素:' || i;
      7      dbms_output.put_line(a(i));
      8    END LOOP;
      9    dbms_output.put_line('总元素个数:' || a.count);
     10  END;
     11  /
     
    元素:1
    元素:2
    元素:3
    元素:4
    元素:5
    元素:6
    元素:7
    元素:8
    元素:9
    元素:10
    总元素个数:10
     
    PL/SQL procedure successfully completed
     
    SQL> 
      

  2.   


    SQL> declare
      2        type v_array is table of varchar2(20) index by pls_integer;
      3        arr v_array;
      4  begin
      5       dbms_output.put_line('未初始化时元素个数:'||arr.count);
      6       for i in 1..10 loop
      7           arr(i) := '元素:'||i;
      8       end loop;
      9       dbms_output.put_line('初始化后总元素个数:'||arr.count);
     10  end;
     11  /
     
    PL/SQL procedure successfully completed
     
    SQL> set serveroutput on;
    SQL> /
     
    未初始化时元素个数:0
    初始化后总元素个数:10