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;
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;
你这样是定义了一个索引表,而不是嵌套表
INDEX BY BINARY_INTEGER 被用来标记为索引表,如果没有它,则被定义的表被认为是嵌套表。
本人目的是不占系统本身的表空间(因是临时数据),实现保存数据,然后在保存数据集的基础上实现汇总操作。
循环我会,但是我主要是希望:1,不占用空间,2,用嵌套表关联其他表,形成多表查询分组汇总方式。
select a,b,c from table
where condition
group by rollup a,b,c
会产生以c,bc,abc的小组合计查询