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;
  • 相关阅读:
    一、docker安装CentOS7
    c#使用资源文件完成国际化
    .netcore 读取ansi编码
    省市区数据库
    .netcore2.0发送邮件
    使用py,根据日志记录自动生成周报
    mysql监控每一条执行的sql语句
    根据json生成c#实体类
    使用.net core efcore根据数据库结构自动生成实体类
    winform,同个程序只允许启动一次
  • 原文地址:https://www.cnblogs.com/james1207/p/3260677.html
Copyright © 2011-2022 走看看