Author: Rainny
Oracle有提供创建自定义合计函数的接口。我们通过这个接口,可以实现类似于SUM(),MAX(),MIN()等ORACLE built-in合计函数的功能。
创建ORACLE自定义合计函数,并须实现ORACLE接口中的ODCIAggregateInitialize、ODCIAggregateIterate、ODCIAggregateMerge和ODCIAggregateTerminate这四个函数。请参看: <<Oracle9i Data Cartridge Developer's Guide Release 2 (9.2)>> Part No. A96595-01第11章:User-Defined Aggregate Functions
下面的例子用于实现BITAND的汇总运算。这个函数主要是对于一组数据进行位的与运算(在ORACLE中是用BITAND()函数),最后返回一个与运算的总值(类似于SUM(),只不过SUM函数是对一组数据进行求和汇总)。
--创建类的说明
CREATE OR REPLACE TYPE Type_sumbitand AS OBJECT
(
element number,
STATIC FUNCTION ODCIAGGREGATEINITIALIZE
(SCTX IN OUT Type_sumbitand) RETURN NUMBER,
MEMBER