zoukankan      html  css  js  c++  java
  • Oracle 拼接字符串

    Tom大神写的

    CREATE OR REPLACE FUNCTION stragg(input varchar2) RETURN varchar2
      PARALLEL_ENABLE
      AGGREGATE USING string_agg_type;
    --1
    
     
    
    CREATE OR REPLACE TYPE "STRING_AGG_TYPE" as object
    (
      total varchar2(4000),
      static function ODCIAggregateInitialize(sctx IN OUT string_agg_type)
        return number,
      member function ODCIAggregateIterate(self  IN OUT string_agg_type,
                                           value IN varchar2) return number,
      member function ODCIAggregateTerminate(self        IN string_agg_type,
                                             returnValue OUT varchar2,
                                             flags       IN number)
        return number,
      member function ODCIAggregateMerge(self IN OUT string_agg_type,
                                         ctx2 IN string_agg_type) return number
    )
    --2
    create or replace type body string_agg_type is
      static function ODCIAggregateInitialize(sctx IN OUT string_agg_type)
        return number is
      begin
        sctx := string_agg_type(null);
        return ODCIConst.Success;
      end;
      member function ODCIAggregateIterate(self  IN OUT string_agg_type,
                                           value IN varchar2) return number is
      begin
        self.total := self.total || ',' || value;
        return ODCIConst.Success;
      end;
      member function ODCIAggregateTerminate(self        IN string_agg_type,
                                             returnValue OUT varchar2,
                                             flags       IN number) return number is
      begin
        returnValue := ltrim(self.total, ',');
        return ODCIConst.Success;
      end;
      member function ODCIAggregateMerge(self IN OUT string_agg_type,
                                         ctx2 IN string_agg_type) return number is
      begin
        self.total := self.total || ctx2.total;
        return ODCIConst.Success;
      end;
    end;
  • 相关阅读:
    使用jackson解析JSON数据
    ANT配置
    Android Webview 与JS交互
    使用ANT将Android打包成Jar包
    单例模式
    工厂模式
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 错误解决
    项目开发中的文档管理结构模板
    高并发的成熟解决方案
    Yaf(Yet Another Framework)用户手册 yii框架手册
  • 原文地址:https://www.cnblogs.com/huanghongbo/p/8177125.html
Copyright © 2011-2022 走看看