zoukankan      html  css  js  c++  java
  • 重构wm_concat,采用clob做为存储容器

    --Type
    CREATE OR REPLACE TYPE zh_concat_im AUTHID CURRENT_USER AS OBJECT
    (
    CURR_STR clob,
    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 clob,
    FLAGS IN NUMBER)
    RETURN NUMBER,
    MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT zh_concat_im,
    SCTX2 IN zh_concat_im) RETURN NUMBER
    );
    --TYPE BODY
    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 clob,
    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;
    --FUNCTION
    create or replace FUNCTION zh_concat(P1 VARCHAR2) RETURN clob AGGREGATE USING zh_concat_im;
  • 相关阅读:
    【dp专题1】hdu1003 D
    #网络之宙斯盾航母#-----占位--------linux
    面向过程6-----#过程之王#----占个位-----汇编语言----(面向机器)
    面向过程5----c#
    高级语言学习总结
    js实现求二元一次方程的根
    小知识点总结
    js小案例,判断年龄是否成年
    js实现结婚吧小案例
    面向过程4-----perl
  • 原文地址:https://www.cnblogs.com/james1207/p/3260677.html
Copyright © 2011-2022 走看看