oracle 817 以后版本
declare
TYPE rec_type IS RECORD (
       CALLING_NBR VARCHAR2(16),
       charge NUMBER(10));
TYPE TAB_A IS TABLE OF rec_type INDEX BY BINARY_INTEGER;
tab_i TAB_A;
sum_charge    number(16); 
begin  
  --循环放入数据后
  --对嵌套表进行求和,谁会??
  select sum(charge) into sum_charge from tab_i;  
   
  --其他描述
end;

解决方案 »

  1.   

    TYPE TAB_A IS TABLE OF rec_type ;
    你这样是定义了一个索引表,而不是嵌套表
    INDEX BY BINARY_INTEGER 被用来标记为索引表,如果没有它,则被定义的表被认为是嵌套表。
      

  2.   

    至少实现对嵌套表的某一列进行求和,如上面的程序段。select sum(charge) into sum_charge from tab_i; 其中tab_i 不管是嵌套表还是索引表只要能实现求和功能就可。当然不是用循环!
      

  3.   

    to;:wangybyangxr(王永斌)
    本人目的是不占系统本身的表空间(因是临时数据),实现保存数据,然后在保存数据集的基础上实现汇总操作。
      

  4.   

    to:: CodeMagic(ErrorDetector) 
    循环我会,但是我主要是希望:1,不占用空间,2,用嵌套表关联其他表,形成多表查询分组汇总方式。
      

  5.   

    查询分组汇总,oracle里的select 命令可以直接实现的,
    select a,b,c from table 
    where condition
     group by  rollup a,b,c
    会产生以c,bc,abc的小组合计查询