设为首页 加入收藏

TOP

Oracle自定义聚集函数(二)
2014-11-23 20:11:58 来源: 作者: 【 】 浏览:39
Tags:Oracle 定义 聚集 函数
认即可

MEMBER FUNCTION ODCIAGGREGATEMERGE(self IN OUT typ_concatenate_impl, ctx2 IN typ_concatenate_impl) RETURN NUMBER IS

BEGIN

RETURN ODCICONST.SUCCESS;

END;

END;

/

-- 创建自定义函数

CREATE OR REPLACE FUNCTION f_concatenate_str(i_str VARCHAR2) RETURN VARCHAR2

AGGREGATE USING typ_concatenate_impl;

/

创建测试表和数据,并进行测试

CREATE TABLE TEST (ID NUMBER, NAME VARCHAR2(20));

INSERT INTO TEST VALUES (1, AAA);

INSERT INTO TEST VALUES (2, BBB);

INSERT INTO TEST VALUES (1, ABC);

INSERT INTO TEST VALUES (3, CCC);

INSERT INTO TEST VALUES (2, DDD);

COMMIT;

查看执行后的结果,并与WMSYS.WM_CONCAT 函数执行效果对照。

SQL> SELECT id,f_concatenate_str(name) name FROM test GROUP BY id;

ID NAME

---------- ------------------------------------------------------------------

1 AAA,ABC,

2 BBB,DDD,

3 CCC,

SQL> SELECT id,wmsys.wm_concat(name) name FROM test GROUP BY id;

ID NAME

---------- ------------------------------------------------------------------

1 AAA,ABC

2 BBB,DDD

3 CCC

SQL> SELECT id,f_concatenate_str(name) OVER (PARTITION BY id) name FROM test;

ID NAME

---------- ------------------------------------------------------------------

1 AAA,ABC,

1 AAA,ABC,

2 DDD,BBB,

2 DDD,BBB,

3 CCC,

SQL> SELECT id,wmsys.wm_concat(name) OVER (PARTITION BY id) name FROM te

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle分析函数、多维函数和Model.. 下一篇Oracle-Decode()函数和CASE语句有..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: