oracle 替换wmsys.wm_concat的函数
来源:互联网 发布:vissim交通仿真软件 编辑:程序博客网 时间:2024/06/06 16:42
本文转自:http://www.oracle-base.com/articles/misc/string-aggregation-techniques.php
命令窗口下执行:
CREATE OR REPLACE TYPE t_string_agg AS OBJECT( g_string VARCHAR2(32767), STATIC FUNCTION ODCIAggregateInitialize(sctx IN OUT t_string_agg) RETURN NUMBER, MEMBER FUNCTION ODCIAggregateIterate(self IN OUT t_string_agg, value IN VARCHAR2 ) RETURN NUMBER, MEMBER FUNCTION ODCIAggregateTerminate(self IN t_string_agg, returnValue OUT VARCHAR2, flags IN NUMBER) RETURN NUMBER, MEMBER FUNCTION ODCIAggregateMerge(self IN OUT t_string_agg, ctx2 IN t_string_agg) RETURN NUMBER);/SHOW ERRORSCREATE OR REPLACE TYPE BODY t_string_agg IS STATIC FUNCTION ODCIAggregateInitialize(sctx IN OUT t_string_agg) RETURN NUMBER IS BEGIN sctx := t_string_agg(NULL); RETURN ODCIConst.Success; END; MEMBER FUNCTION ODCIAggregateIterate(self IN OUT t_string_agg, value IN VARCHAR2 ) RETURN NUMBER IS BEGIN SELF.g_string := self.g_string || ',' || value; RETURN ODCIConst.Success; END; MEMBER FUNCTION ODCIAggregateTerminate(self IN t_string_agg, returnValue OUT VARCHAR2, flags IN NUMBER) RETURN NUMBER IS BEGIN returnValue := RTRIM(LTRIM(SELF.g_string, ','), ','); RETURN ODCIConst.Success; END; MEMBER FUNCTION ODCIAggregateMerge(self IN OUT t_string_agg, ctx2 IN t_string_agg) RETURN NUMBER IS BEGIN SELF.g_string := SELF.g_string || ',' || ctx2.g_string; RETURN ODCIConst.Success; END;END;/SHOW ERRORSCREATE OR REPLACE FUNCTION string_agg (p_input VARCHAR2)RETURN VARCHAR2PARALLEL_ENABLE AGGREGATE USING t_string_agg;/SHOW ERRORS调用示例:
select string_agg(p.account_id) from account_manage p;执行结果:
10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,55,57
0 0
- oracle 替换wmsys.wm_concat的函数
- oracle wmsys.wm_concat函数
- oracle 的wmsys.wm_concat函数用法
- oracle 的wmsys.wm_concat函数用法
- Oracle函数wmsys.wm_concat的使用
- Oracle函数wmsys.wm_concat的使用
- oracle wmsys.wm_concat(column)函数的使用
- oracle wmsys.wm_concat 函数的使用
- Oracle函数wmsys.wm_concat的使用
- ORACLE的WMSYS.WM_CONCAT聚合函数
- Oracle 函数 wmsys.wm_concat 的几个用法
- oracle 函数WMSYS.WM_CONCAT()的用法
- Oracle 11g 重建WMSYS用户的WMSYS.WM_CONCAT函数
- Oracle内部函数 wmsys.wm_concat 替换办法及思考
- 破解Oracle函数"wmsys.wm_concat()"
- oracle 内部函数 wmsys.wm_concat
- oracle中的wmsys.wm_concat()函数
- WMSYS.WM_CONCAT 函数的用法
- Oracle中如何将日期转换成农历
- 黑马程序员_OC_protocol学习
- 黑马程序员_C语言进制学习
- OpenGL教程之新手上路
- CSDN CODE git clone **.git
- oracle 替换wmsys.wm_concat的函数
- hdu1016(dfs)
- 模糊知识点Throwable体系
- python模块学习
- duilib : 生日礼物程序模板
- for_each的用法
- 如何使用VC6.0发布release版本
- 【足迹C++ primer】12、函数重载
- call to OpenGL ES API with no current context (logged once per thread)