orcale 函数wm_concat不存咋lob值使用zh_concat 替换


  • 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 || <span style="color:#ff0000;">','</span> || 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 || <span style="color:#ff0000;">','</span> || 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 ;  

  • 免责声明!

    本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



     
    粤ICP备18138465号  © 2018-2025 CODEPRJ.COM