程序人生

Oracle合并行自定义函数strcat

时间:2013/9/2 12:57:12  作者:说歌社区  来源:www.solgle.com  查看:2562  评论:0
内容摘要:--1.创建类型create or replace type strcat_type as object (cat_string varchar2(4000),static function ODCIAggregateInitialize(cs_ctx In Out strcat...
--1.创建类型
 
create or replace type strcat_type as object (
cat_string varchar2(4000),
static function ODCIAggregateInitialize(cs_ctx In Out strcat_type) return number,
member function ODCIAggregateIterate(self In Out strcat_type,value in varchar2) return 
number,
member function ODCIAggregateMerge(self In Out strcat_type,ctx2 In Out strcat_type) 
return number,
member function ODCIAggregateTerminate(self In Out strcat_type,returnValue Out 
varchar2,flags in number) return number
);
 
 
 
--2. 创建类型体
 
create or replace type body strcat_type is
  static function ODCIAggregateInitialize(cs_ctx IN OUT strcat_type) return number
  is
  begin
      cs_ctx := strcat_type( null );
      return ODCIConst.Success;
  end;
 
  member function ODCIAggregateIterate(self IN OUT strcat_type,
                                       value IN varchar2 )
  return number
  is
  begin
      self.cat_string := self.cat_string || ';'|| value;
      return ODCIConst.Success;
  end;
 
  member function ODCIAggregateTerminate(self IN Out strcat_type,
                                         returnValue OUT varchar2,
                                         flags IN number)
  return number
  is
  begin
      returnValue := ltrim(rtrim(self.cat_string,';'),';');
      return ODCIConst.Success;
  end;
 
  member function ODCIAggregateMerge(self IN OUT strcat_type,
                                     ctx2 IN Out strcat_type)
  return number
  is
  begin
      self.cat_string := self.cat_string || ';' || ctx2.cat_string;
      return ODCIConst.Success;
  end;
 
end;
 
--3.创建函数
CREATE OR REPLACE FUNCTION strcat(input varchar2 )
RETURN varchar2
PARALLEL_ENABLE AGGREGATE USING strcat_type;

 
标签:Oracle合并行自定义函数strcat 

solgle.com 版权所有,欢迎分享!!!

相关文章
    相关评论
     img1 img2 img3 img4 img5 img6 img7 img8 img9 img10
    评论者:      验证码:  点击获取验证码
       Copyright © 2013-2028 solgle.com,All rights reserved.[solgle.com] 公安机关备案号:51010802000219
    Email:solgle@solgle.com; weixin:cd1008610000 ICP:蜀ICP备14011070号-1