wm_concat函数

什么_帝 2013-09-29 01:45:09
我用wm_concat函数报错

求解决方法啊 急用啊
...全文
301 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
把解决办法贴出来撤
什么_帝 2013-09-29
  • 打赏
  • 举报
回复
在网上找到解决方法了
什么_帝 2013-09-29
  • 打赏
  • 举报
回复
就是我现在刚接手一个项目 前人写的语句 现在报错
select wm_concat(tto.task_content) task_content,
                                       t3ap.record_id
                                  from t_Taskinfo tto,
                                       (select distinct task_no, record_id
                                          from t_3talk_Active_Person) t3ap
                                 where tto.task_no = t3ap.task_no
                                 GROUP BY t3ap.record_id
不知道应该怎么解决 只知道是wm_concat函数的问题
  • 打赏
  • 举报
回复
你要做什么,列转行很多种方法
什么_帝 2013-09-29
  • 打赏
  • 举报
回复
我上网找了些 说自己写这个函数的实现方法 找了个 也不行

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 ;
/

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧