您好,欢迎访问一九零五行业门户网

替代Oracle函数wmsys_wm_concat()函数

return odciconst.success; end;end;/函数:create or replace function zh_concat(p1 varchar2) return varchar2 aggregate u
1.
select postgresql('emp','ename') from dual
2.sys_connect_by_path
3.create or replace type zh_concat_im
authid current_user as object
(
   curr_str varchar2(32767),
   static function odciaggregateinitialize(sctx in out zh_concat_im) return number,
   member function odciaggregateiterate(self in out zh_concat_im,
            p1 in varchar2) return number,
   member function odciaggregateterminate(self in zh_concat_im,
                              returnvalue out varchar2,
                              flags in number)
                  return number,
   member function odciaggregatemerge(self in out zh_concat_im,
                   sctx2 in   zh_concat_im) return number
);
/
create or replace type body zh_concat_im
is
   static function odciaggregateinitialize(sctx in out zh_concat_im)
   return number
   is
   begin
sctx := zh_concat_im(null) ;
return odciconst.success;
   end;
   member function odciaggregateiterate(self in out zh_concat_im,
      p1 in varchar2)
   return number
   is
   begin
if(curr_str is not null) then
   curr_str := curr_str || ':' || p1;
else
   curr_str := p1;
end if;
return odciconst.success;
   end;
   member function odciaggregateterminate(self in zh_concat_im,
                              returnvalue out varchar2,
                              flags in number)
return number
   is
   begin
returnvalue := curr_str ;
return odciconst.success;
   end;
   member function odciaggregatemerge(self in out zh_concat_im,
                                  sctx2 in zh_concat_im)
   return number
   is
   begin
if(sctx2.curr_str is not null) then
   self.curr_str := self.curr_str || ':' || sctx2.curr_str ;
end if;
return odciconst.success;
   end;
end;
/
函数:
create or replace function zh_concat(p1 varchar2)
return varchar2 aggregate using zh_concat_im ;
修改标红部门,,可调整字段间分隔符
其它类似信息

推荐信息