自定義聚合函式

2021-08-30 18:55:18 字數 2232 閱讀 4889

create or replace type string_sum_obj as object (  

--聚合函式的實質就是乙個物件

sum_string varchar2(4000),

static function odciaggregateinitialize(v_self in out string_sum_obj) return number,

--物件初始化

member function odciaggregateiterate(self in out string_sum_obj, value in varchar2) return number,

--聚合函式的迭代方法(這是最重要的方法)

member function odciaggregatemerge(self in out string_sum_obj, v_next in string_sum_obj) return number,

--當查詢語句並行執行時,才會使用該方法,可將多個並行執行的查詢結果聚合

member function odciaggregateterminate(self in string_sum_obj, return_value out varchar2 ,v_flags in number) return number

--終止聚集函式的處理,返回聚集函式處理的結果.

) /

create or replace type body string_sum_obj is

static function odciaggregateinitialize(v_self in out string_sum_obj) return number is

begin

v_self := string_sum_obj(null);

return odciconst.success;

end;

member function odciaggregateiterate(self in out string_sum_obj, value in varchar2) return number is

begin

/* 連線 */

self.sum_string := self.sum_string || value;

return odciconst.success;

/* 最大值 */

if self.sum_stringvalue then

self.sum_string:=value;

end if;

return odciconst.success;

end;

member function odciaggregatemerge(self in out string_sum_obj, v_next in string_sum_obj) return number is

begin

/* 連線 */

self.sum_string := self.sum_string || v_next.sum_string;

return odciconst.success;

/* 最大值 */

if self.sum_stringv_next.sum_string then

self.sum_string:=v_next.sum_string;

end if;

return odciconst.success;

end;

member function odciaggregateterminate(self in string_sum_obj, return_value out varchar2 ,v_flags in number) return number is

begin

return_value:= self.sum_string;

return odciconst.success;

end;

end;

/ --建立函式

create or replace function connstrsum(value varchar2) return varchar2

parallel_enable aggregate using string_sum_obj;

自定義聚合函式

新建database project 新建concatenate class using system using system.data using microsoft.sqlserver.server using system.data.sqltypes using system.io usin...

groupby agg 自定義聚合函式

college pd.read csv data college.csv college.head instnm city stabbr hbcu menonly womenonly relaffil satvrmid satmtmid distanceonly ugds 2mor ugds nra...

Pandas groupby 自定義聚合函式

自定義聚合函式,n.i.o 出現次數0 0 n.i.o 出現次數1 進一步判斷 n.i.o 出現次數大於2 2 此函式需進一步擴充套件,出現次數大於2的,需要根據計畫頻率,判斷是否在一次連續測試內 defpeak peak arr,df 判斷arr的series值中是否包含 n.i.o x list...