【函數】wm_concat包的訂製

2021-02-21 DB寶

CREATE OR REPLACE TYPE WM_CONCAT_IMPL_STRINGS_LHR AUTHID CURRENT_USER AS OBJECT

(

  CURR_STR VARCHAR2(32767),

  STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT WM_CONCAT_IMPL_STRINGS_LHR)

    RETURN NUMBER,

  MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT WM_CONCAT_IMPL_STRINGS_LHR,

                                       P1   IN VARCHAR2) RETURN NUMBER,

  MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF        IN WM_CONCAT_IMPL_STRINGS_LHR,

                                         RETURNVALUE OUT VARCHAR2,

                                         FLAGS       IN NUMBER)

    RETURN NUMBER,

  MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF  IN OUT WM_CONCAT_IMPL_STRINGS_LHR,

                                     SCTX2 IN WM_CONCAT_IMPL_STRINGS_LHR)

    RETURN NUMBER

);

/

CREATE OR REPLACE TYPE BODY WM_CONCAT_IMPL_STRINGS_LHR IS

  STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT WM_CONCAT_IMPL_STRINGS_LHR)

    RETURN NUMBER IS

  BEGIN

    SCTX := WM_CONCAT_IMPL_STRINGS_LHR(NULL);

    RETURN ODCICONST.SUCCESS;

  END;

  MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT WM_CONCAT_IMPL_STRINGS_LHR,

                                       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 WM_CONCAT_IMPL_STRINGS_LHR,

                                         RETURNVALUE OUT VARCHAR2,

                                         FLAGS       IN NUMBER) RETURN NUMBER IS

  BEGIN

    RETURNVALUE := CURR_STR;

    RETURN ODCICONST.SUCCESS;

  END;

  MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF  IN OUT WM_CONCAT_IMPL_STRINGS_LHR,

                                     SCTX2 IN WM_CONCAT_IMPL_STRINGS_LHR)

    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 WM_CONCAT_STRINGS_LHR(P1 VARCHAR2) RETURN VARCHAR2

  AGGREGATE USING WM_CONCAT_IMPL_STRINGS_LHR;

/

 

CREATE PUBLIC SYNONYM WM_CONCAT_STRINGS_LHR FOR WM_CONCAT_STRINGS_LHR;

GRANT EXECUTE ON WM_CONCAT_STRINGS_LHR TO PUBLIC;

相關焦點

  • 使用Listagg分析函數優化wmsys.wm_concat
    所以你懂的我們需要單獨跑with as裡面的SQL語句,跑了一下,發現居然要跑1--2分鐘with as 的子查詢我們單獨拿出來看看select sgd.detail_id id, wmsys.wm_concat(distinct(sg.gp_name)) groupnames,wmsys.wm_concat(distinct(su.user_name)
  • 推薦|Excel中Concatenate函數連接文本
    今天給大家帶來的是concatenate、concat函數連結文本。concatenate函數是把多個單元格的內容連接到一起的操作。第一步:在選定單元格內輸入=CONCATENATE()第二步:然後在括號內按順序單擊選定要連接的內容(wps要按住control選擇;mac按住command選擇)eg.
  • 公司訂製的工作服,屬於福利費還是勞動保護費?
    新來了一名酒店的店總,為了統一公司形象,公司訂製了價值299元注會資料包免費領!包含注會百天專屬學習計劃,注會6科高頻考點,注會微課答疑精華,乾貨多到爆!
  • 由MySQL字符串函數考慮到的繞過利用
    來自WgpSec Team 成員 f1hgb投稿背景本次文章是在對一次時間盲注時if等函數被ban的時候
  • MySQL最常用分組聚合函數
    )求累加和  ①每個組函數接收一個參數  ②默認情況下,組函數忽略列值為null的行,不參與計算  ③有時,會使用關鍵字distinct剔除欄位值重複的條數注意:  1)當使用組函數的select語句中沒有group by子句時,中間結果集中的所有行自動形成一組,然後計算組函數;  2)組函數不允許嵌套
  • MYSQL 常用函數
    字符串函數函數功能
  • Excel 函數很簡單,不信你來看這篇!
    別急,秋小葉再教你 4 招函數,用函數輕鬆搞定 合併!因為,phonetic只是個兼職合併函數而已。它本職工作是提取日文拼音,是日文版來客串一下的,人家只是恰好可以合併文字而已。這個客串函數個性非常獨特,因為它眼裡只有文本型數據,對公式結果、數值、日期時間等等通通視而不見。所以1314就是被狗吃掉了……此公式的輸入就比「&」連字符簡單多了:
  • 會計人典藏財務Excel資料包.zip(常用快捷鍵+Excel函數500例+12張數據透視表)
    本期乾貨福利的關鍵內容如下:1.手把手教你學會EXCEL.GIF2.Excel表格的25招必學秘技(帶目錄)3.excel常用快捷鍵大全4.700套帶公式的Excel模板(工資績效社保考勤可視圖表,全自動生成)5.財務人員Excel函數應用
  • 讓老闆看呆,一個Excel函數搞定進銷存報表!
    有倉庫、有商品的地方都離不開進銷存軟體,有花錢買的、也有花大力氣自已找人訂製的。網上下載破解版?
  • 以「染色包黑」和「包白包黑」服務客戶!
    談到產品,就要說秦建部的產品特性了,秦建部致力於開發優質穩定、性價比高的常規坯布系列,在市場競爭越來越激烈、客戶要求越來越嚴格的現下市場,秦建部主推氣流紡「染色包黑」系列、「包白包黑」系列,以超高的性價比為各位營銷員和客戶提供最優質的服務和產品
  • 【R函數學習】R語言時間序列函數整理
    #進行單位根檢驗library(FinTS) #調用其中的自回歸檢驗函數library(fGarch) #GARCH模型library(nlme) #調用其中的gls函數library(fArma) #進行擬合和檢驗【基本函數】數學函數abs,sqrt:絕對值,平方根 log
  • Excel教程:你會用函數TRANSPOSE嗎?
    函數函數TRANSPOSE的基本用法很簡單,就是轉置數據。那麼接下來我們一起來看看函數TRANSPOSE與其他函數的組合應用。2、函數TRANSPOSE與HLOOKUP的組合應用垂直方向查找,首先想到的是使用函數VLOOKUP,其實使用函數HLOOKUP也能垂直方向查找,不過要藉助函數TRANSPOSE的幫助。