报课、招生咨询电话:010-51268840/41

首页 > 计算机考试 > 试题汇编 > Oracle认证 >
→论坛登陆 用户名  密码  
用一个实例讲解Oracle的自定义聚集函数

作者: 发布时间:2008-06-03 09:57:18 来源:育路计算机考试
Oracle数据库的定制功能十分强大。Oracle不但允许用户定制自己的函数,还可以定制自己的聚集函数和分析函数。

  本文将着重介绍使用自定义聚集函数建立一个字符串“sum”的示例:

  SQL> CREATE OR REPLACE TYPE T_LINK AS OBJECT (

  2 STR VARCHAR2(30000),

  3 STATIC FUNCTION ODCIAGGREGATEINITIALIZE

  (SCTX IN OUT T_LINK) RETURN NUMBER,

  4 MEMBER FUNCTION ODCIAGGREGATEITERATE

  (SELF IN OUT T_LINK, VALUE IN VARCHAR2) RETURN NUMBER,

  5 MEMBER FUNCTION ODCIAGGREGATETERMINATE

  (SELF IN T_LINK, RETURNVALUE OUT VARCHAR2, FLAGS IN NUMBE

  R) RETURN NUMBER,

  6 MEMBER FUNCTION ODCIAGGREGATEMERGE

  (SELF IN OUT T_LINK, CTX2 IN T_LINK) RETURN NUMBER

  7 )

  8 /

  类型已创建。

  SQL> CREATE OR REPLACE TYPE BODY T_LINK IS

  2 STATIC FUNCTION ODCIAGGREGATEINITIALIZE

  (SCTX IN OUT T_LINK) RETURN NUMBER IS

  3 BEGIN

  4 SCTX := T_LINK(NULL);

  5 RETURN ODCICONST.SUCCESS;

  6 END;

  7

  8 MEMBER FUNCTION ODCIAGGREGATEITERATE

  (SELF IN OUT T_LINK, VALUE IN VARCHAR2) RETURN NUMBER IS

  9 BEGIN

  10 SELF.STR := SELF.STR || VALUE;

  11 RETURN ODCICONST.SUCCESS;

  12 END;

  13

  14 MEMBER FUNCTION ODCIAGGREGATETERMINATE

  (SELF IN T_LINK, RETURNVALUE OUT VARCHAR2, FLAGS IN NUMBE

  R) RETURN NUMBER IS

15 BEGIN

  16 RETURNVALUE := SELF.STR;

  17 RETURN ODCICONST.SUCCESS;

  18 END;

  19

  20 MEMBER FUNCTION ODCIAGGREGATEMERGE

  (SELF IN OUT T_LINK, CTX2 IN T_LINK) RETURN NUMBER IS

  21 BEGIN

  22 NULL;

  23 RETURN ODCICONST.SUCCESS;

  24 END;

  25 END;

  26 /

  类型主体已创建。

  SQL> CREATE OR REPLACE FUNCTION F_LINK

  (P_STR VARCHAR2) RETURN VARCHAR2

  2 AGGREGATE USING T_LINK;

  3 /

  函数已创建。

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

  表已创建。

  SQL> INSERT INTO TEST VALUES (1, 'AAA');

  已创建 1 行。

  SQL> INSERT INTO TEST VALUES (2, 'BBB');

  已创建 1 行。

  SQL> INSERT INTO TEST VALUES (1, 'ABC');

  已创建 1 行。

  SQL> INSERT INTO TEST VALUES (3, 'CCC');

  已创建 1 行。

  SQL> INSERT INTO TEST VALUES (2, 'DDD');

  已创建 1 行。

  SQL> COMMIT;

  提交完成。

  SQL> COL NAME FORMAT A60

  SQL> SELECT ID, F_LINK(NAME) NAME FROM TEST GROUP BY ID;

  ID NAME

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

  1 AAAABC

  2 BBBDDD

  3 CCC

    育路网

 
 
                                        
评论】【加入收藏夹】【 】【打印】【关闭
育路网2007年夏令营联展
 更多有关新闻:
 
·[考试动态2008年医师资格考试网上报名须知 ·[考试动态2008年医师资格考试3月10日开始网
·[考试动态卫生部医师资格考试委员会公告 ·[考试动态2008年医师考试于9月20至21进行
·[考试动态关于北京考区2008年度国家医师资 ·[考试动态崇文区卫生局关于北京考区2008年
·[考试动态丰台区卫生局关于北京考区2008年 ·[考试动态2008年上海市医师资格考试(考区
·[考试动态2008年医师资格考试(天津考区) ·[考试动态惠州市卫生局关于2008医师资格考
·[考试动态无锡市关于2008年医师资格考试网 ·[考试动态关于珠海市2008年医师资格考试的
·[考试动态韶关市关于2008年医师资格考试网 ·[考试动态深圳市关于2008年医师资格考试深
·[考试动态杭州市卫生局关于2008年医师资格 ·[考试动态丽水市关于2008年医师资格考试报
发表评论
用户名: 密码:
验证码: 匿名发表
课程搜索:
选择分类:
课程关键字:
课程 学校
 2008年首都高校秋季招生
北京理工大学2008年招生简章
北京文理研修学院2008年招生简章
北京建设大学2008年招生简章
北京中山学院2008年招生简章
北京城市学院2008年招生简章
培黎职业学院2008年招生简章
北京金融学院2008年招生简章
北京吉利大学2008年招生简章
北方工商管理学院2008年招生简章
 本周推荐课程
·初中起点雅思半年脱产 ·启德雅思6分冲刺课程
·新概念1+2册慢速精讲课 ·环球新托福100分强化
·北文王长喜四级强化班 ·英语四、六级培训课程
·海文考研数学课程 ·海文考研英语课程
·北大企业管理高级研修班 ·清华企业领导人研修班
·中美高中生交换项目 ·北工大中加学院2+2本科
·劳动和社会保障部物流师 ·物业管理师职业培训
·市场营销经理国际资格 ·现场管理实务培训
清华大学留学
中法管理硕士预科班
课程咨询热线:010-51268840 51268841
 最新新闻
·2009年公务员考试申论热点:抗震救灾信息公开
·新疆:2007年1月20日地方公务员考试面试真题
·新疆:2007年1月21日地方公务员考试面试真题
·新疆:2007年1月22日地方公务员考试面试真题
·新疆:2007年8月20-21日公务员考试面试真题
·河南:2008年法检系统招考《申论》备考指南
·湖南:08年长沙市考录公务员有关面试事宜的通
·圣火传递交通管制 20多名考生误了湖北公考
·南阳市招录81名法院公务员 大学生村干部可加分
·2008年河南省统一考试录用法院公务员公告
 育路社区            进入>>
 
学员报名服务中心: 北京北三环西路32号恒润中心1806(交通位置图
咨询电话:北京- 010-51268840/41 传真:010-51418040 上海-021-64392659、64397431
育路网-中国新锐教育社区: 北京站 | 上海站 | 郑州站| 武汉站
本站法律顾问: 邱清荣律师
北京育路互联科技有限公司版权所有 | 京ICP备05012189号