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;
  • 相关阅读:
    find排除目录
    rm删除文件时排除特定文件
    聚集索引与非聚集索引
    聚集索引
    Union和Union all的区别
    delete、truncate与drop的区别
    apt-get 总结2
    apt-get 依赖修复
    apt-get 总结
    大端 小端
  • 原文地址:https://www.cnblogs.com/huanghongbo/p/8177125.html
Copyright © 2011-2022 走看看