• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    替代Oracle函數wmsys_wm_concat()函數

    發布時間:  2012/9/20 17:04:19

    create or replace function postgresql(p_tname varchar2, p_colname varchar2)
    return clob is

    v_tmp    varchar2(200);
    v_result clob;
    v_cum    sys_refcursor;
    begin

    open v_cum for 'select ' || p_colname || ' from ' || p_tname;
    loop
        fetch v_cum
          into v_tmp;
        exit when v_cum%notfound;
        v_result := v_result || v_tmp;
    end loop;
    dbms_output.put_line(v_result);
    return v_result;
    end;

    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 ;


    修改標紅部門,可調整字段間分隔符


     


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線