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

首页 > 计算机考试 > 水平考试 >
→论坛登陆 用户名  密码  
数据库基础:用一个实例讲解Oracle的自定义聚集函数

作者: 发布时间:2008-05-07 10:41:07 来源:育路计算机考试频道
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上半年英语等级考试(P
·[水平考试数据库基础:用一个实例讲解Orac ·[复习指导高级会计师考试《高级会计实务》
·[水平考试数据库进阶:超大型Oracle数据库 ·[复习指导MBA英语阅读理解疑难句子解析(三
·[水平考试数据库进阶:循序渐进讲解数据表 ·[复习指导高级会计师考试《高级会计实务》
·[水平考试数据库相关:大型MIS软件的开发必 ·[复习指导MBA英语阅读理解疑难句子解析(二
·[水平考试数据库进阶:ERP管理软件数据库系 ·[复习指导MBA英语阅读理解疑难句子解析(一
·[水平考试数据库进阶:SQLServer数据库多种 ·[水平考试数据库相关:远程连接SQLServer2
·[考试动态2009年MBA报考须知 ·[水平考试数据库基础:教你轻松掌握数据库
发表评论
用户名: 密码:
验证码: 匿名发表
课程搜索:
选择分类:
课程关键字:
课程 学校
 2008年首都高校秋季招生
北京理工大学2008年招生简章
北京文理研修学院2008年招生简章
北京建设大学2008年招生简章
北京中山学院2008年招生简章
北京城市学院2008年招生简章
培黎职业学院2008年招生简章
北京金融学院2008年招生简章
北京吉利大学2008年招生简章
北方工商管理学院2008年招生简章
 本周推荐课程
·初中起点雅思半年脱产 ·启德雅思6分冲刺课程
·新概念1+2册慢速精讲课 ·环球新托福100分强化
·北文王长喜四级强化班 ·英语四、六级培训课程
·海文考研数学课程 ·海文考研英语课程
·北大企业管理高级研修班 ·清华企业领导人研修班
·中美高中生交换项目 ·北工大中加学院2+2本科
·劳动和社会保障部物流师 ·物业管理师职业培训
·市场营销经理国际资格 ·现场管理实务培训
清华大学留学
中法管理硕士预科班
课程咨询热线:010-51268840 51268841
 最新新闻
·广东佛山招考公务员面试邀请家长旁听
·广东佛山招考公务员面试邀请家长旁听
·留学新西兰费用知多少?
·专家建议:去澳洲留学最好从高中开始
·台湾兴起大陆考证热 大学推"考证团"团费约十
·2008年5月10日雅思口语预测
·北京考生5月12日起填报高考志愿
·北京08年自学考试举办网上咨询活动通知
·北京08年自学考试举办网上咨询活动通知
·北京08年自学考试举办网上咨询活动通知
 育路社区            进入>>
 
学员报名服务中心: 北京北三环西路32号恒润中心1806(交通位置图
咨询电话:北京- 010-51268840/41 传真:010-51418040 上海-021-64392659、64397431
育路网-中国新锐教育社区: 北京站 | 上海站 | 郑州站| 武汉站
本站法律顾问: 邱清荣律师
北京育路互联科技有限公司版权所有 | 京ICP备05012189号