Oracle合并函数的两种类型介绍

以下的文章主要是对Oracle合并函数的两种类型的介绍,即,Oracle9i与Oracle10g相关实际应用代码的介绍,以及Oracle9i的具体使用方案的描述,下面就是文章的具体内容的介绍,望你会有所收获。

成都创新互联网络公司拥有10年的成都网站开发建设经验,上千多家客户的共同信赖。提供网站制作、成都网站设计、网站开发、网站定制、外链、建网站、网站搭建、响应式网站设计、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务

Oracle合并函数之9i下:

 
 
 
  1. create type strcat_type as object (  
  2. cat_string varchar2(4000),  
  3. static function ODCIAggregateInitialize(cs_ctx In Out strcat_type) return number,  
  4. member function ODCIAggregateIterate(self In Out strcat_type,value in varchar2) return number,  
  5. member function ODCIAggregateMerge(self In Out strcat_type,ctx2 In Out strcat_type) return number,  
  6. member function ODCIAggregateTerminate(self In Out strcat_type,returnValue Out varchar2,flags in number) return number  
  7. )  
  8. /  
  9. create type body strcat_type is  
  10. static function ODCIAggregateInitialize(cs_ctx IN OUT strcat_type) return number  
  11. is  
  12. begin  
  13. cs_ctx := strcat_type( null );  
  14. return ODCIConst.Success;  
  15. end;  
  16. member function ODCIAggregateIterate(self IN OUT strcat_type,  
  17. value IN varchar2 )  
  18. return number  
  19. is  
  20. begin  
  21. self.cat_string := self.cat_string || ','|| value;  
  22. return ODCIConst.Success;  
  23. end;  
  24. member function ODCIAggregateTerminate(self IN Out strcat_type,  
  25. returnValue OUT varchar2,  
  26. flags IN number)  
  27. return number  
  28. is  
  29. begin  
  30. returnValue := ltrim(rtrim(self.cat_string,','),',');  
  31. return ODCIConst.Success;  
  32. end;  
  33. member function ODCIAggregateMerge(self IN OUT strcat_type,  
  34. ctx2 IN Out strcat_type)  
  35. return number  
  36. is  
  37. begin  
  38. self.cat_string := self.cat_string || ',' || ctx2.cat_string;  
  39. return ODCIConst.Success;  
  40. end;  
  41. end;  
  42. /  
  43. CREATE or replace  
  44. FUNCTION strcat(input varchar2 )  
  45. RETURN varchar2  
  46. PARALLEL_ENABLE AGGREGATE USING strcat_type;  
  47. /  

使用方法:

 
 
 
  1. select t2.kdm_mdid_pk,t2.kdm_title,  
  2. strcat(t3.subject_mc_content) message  
  3. from t_knodoc_rel_subjects t1,  
  4. T_KNO_DOC_METADATA t2,  
  5. T_SUBJECT_MULTILINGUAL_CONTENT t3  
  6. where t1.krs_kdm_mdid_fk=t2.kdm_mdid_pk  
  7. and t1.krs_subid_fk=t3.subject_mc_id_pk  
  8. group by t2.kdm_mdid_pk,t2.kdm_title  

Oracle合并函数之10g下:

 
 
 
  1. select t2.kdm_mdid_pk,t2.kdm_title,WMSYS.WM_CONCAT(t3.subject_mc_content) message  
  2. from t_knodoc_rel_subjects t1,  
  3. T_KNO_DOC_METADATA t2,  
  4. T_SUBJECT_MULTILINGUAL_CONTENT t3  
  5. where t1.krs_kdm_mdid_fk=t2.kdm_mdid_pk  
  6. and t1.krs_subid_fk=t3.subject_mc_id_pk  
  7. group by t2.kdm_mdid_pk,t2.kdm_title   

以上的相关内容就是对Oracle合并函数的介绍,望你能有所收获。

【编辑推荐】

  1. Oracle表空间的设置问题的描述
  2. Oracle数据字典的恢复场景
  3. Oracle case的2中常用表达式
  4. 确定Oracle数据库中的表中重复的相关记录
  5. Oracle虚拟数据控制的方法介绍

网页名称:Oracle合并函数的两种类型介绍
新闻来源:http://www.shufengxianlan.com/qtweb/news35/272735.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联