1. create or replace TYPE zh_concat_im
  2. AUTHID CURRENT_USER AS OBJECT
  3. (
  4. CURR_STR VARCHAR2(32767),
  5. STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT zh_concat_im) RETURN NUMBER,
  6. MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT zh_concat_im,
  7. P1 IN VARCHAR2) RETURN NUMBER,
  8. MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN zh_concat_im,
  9. RETURNVALUE OUT VARCHAR2,
  10. FLAGS IN NUMBER)
  11. RETURN NUMBER,
  12. MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT zh_concat_im,
  13. SCTX2 IN  zh_concat_im) RETURN NUMBER
  14. );
  15. /
  16. create or replace TYPE BODY zh_concat_im
  17. IS
  18. STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT zh_concat_im)
  19. RETURN NUMBER
  20. IS
  21. BEGIN
  22. SCTX := zh_concat_im(NULL) ;
  23. RETURN ODCICONST.SUCCESS;
  24. END;
  25. MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT zh_concat_im,
  26. P1 IN VARCHAR2)
  27. RETURN NUMBER
  28. IS
  29. BEGIN
  30. IF(CURR_STR IS NOT NULL) THEN
  31. CURR_STR := CURR_STR || <span style="color:#ff0000;">','</span> || P1;
  32. ELSE
  33. CURR_STR := P1;
  34. END IF;
  35. RETURN ODCICONST.SUCCESS;
  36. END;
  37. MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN zh_concat_im,
  38. RETURNVALUE OUT VARCHAR2,
  39. FLAGS IN NUMBER)
  40. RETURN NUMBER
  41. IS
  42. BEGIN
  43. RETURNVALUE := CURR_STR ;
  44. RETURN ODCICONST.SUCCESS;
  45. END;
  46. MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT zh_concat_im,
  47. SCTX2 IN zh_concat_im)
  48. RETURN NUMBER
  49. IS
  50. BEGIN
  51. IF(SCTX2.CURR_STR IS NOT NULL) THEN
  52. SELF.CURR_STR := SELF.CURR_STR || <span style="color:#ff0000;">','</span> || SCTX2.CURR_STR ;
  53. END IF;
  54. RETURN ODCICONST.SUCCESS;
  55. END;
  56. END;
  57. /
  58. create or replace FUNCTION zh_concat(P1 VARCHAR2)
  59. RETURN VARCHAR2 AGGREGATE USING zh_concat_im ;

orcale 函数wm_concat不存咋lob值使用zh_concat 替换的更多相关文章

  1. Oracle 11g行字段拼接WMSYS.WM_CONCAT问题Not A LOB

    Oracle 11g行字段拼接WMSYS.WM_CONCAT问题Not A LOB 一.问题出现 项目中的某个查询需要将表中某个字段不重复地拼接起来,百度得到该函数WMSYS.WM_CONCAT(字段 ...

  2. C 语言 clock() 函数,例:计算多项式值

    C 语言 clock() 函数,例:计算多项式值 /** * clock(): 捕捉从程序开始运行到 clock() 被调用时所耗费的时间. * 这个时间单位是 clock tick, 即" ...

  3. 巧用javascript对象属性,向事件绑定的匿名函数内传递循环控制变量的值

    遇到一个需要向匿名函数传递循环控制变量的问题,我受到园子里这篇文章的启发[笔记]js获取当前点击元素的索引,解决了这个问题.现在把代码贴出来,以防止自己忘记. if ($('#labModal').l ...

  4. PHP array_count_values() 函数用于统计数组中所有值出现的次数。

    定义和用法 array_count_values() 函数用于统计数组中所有值出现的次数. 本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数. 语法 array_count ...

  5. JavaScript 在函数中使用Ajax获取的值作为函数的返回值

    解决:JavaScript 在函数中使用Ajax获取的值作为函数的返回值,结果无法获取到返回值 原因:ajax默认使用异步方式,要将异步改为同步方式 案例:通过区域ID,获取该区域下所有的学校 var ...

  6. java.io.IOException: ORA-22920: 未锁定含有 LOB 值的行

         究其原因是因为没有锁定要更新的行记录.将 mysql="select filebody from filelist where filename=?"中的SQL语句加上 ...

  7. C++ 函数的重载和参数默认值

    函数的重载和参数默认值视频教程 函数的重载注意事项: 只会根据三项内容进行重载:参数的个数.参数的类型.参数的顺序 参数默认值: 参数的默认值可以在函数的定义中也可以在函数的声明中,但不能同时有 从第 ...

  8. C#多线程函数如何传参数和返回值

          详见网站:http://WWW.MOVIH.COM就是一个多线程爬虫系统.   C#多线程函数如何传参数和返回值 提起多线程,不得不提起 委托(delegates)这个概念. 我理解的委托 ...

  9. go语言结构体作为函数参数,采用的是值传递

    经过验证,go语言结构体作为函数参数,采用的是值传递.所以对于大型结构体传参,考虑到值传递的性能损耗,最好能采用指针传递. 验证代码: package main import ( "fmt& ...

随机推荐

  1. Scala 方法与函数

    Scala 方法与函数:http://www.runoob.com/scala/scala-functions.html Scala 有方法与函数,二者在语义上的区别很小.Scala 方法是类的一部分 ...

  2. drone 0.8.8 集成gogs 进行ci/cd 处理

    drone 是一个不错的基于容器的ci/cd 工具,运行简单,同时插件也挺多,基本常见的轻量级的任务都是可以搞定的 环境准备 使用docker in docker docker-compose 文件 ...

  3. CSS矩形盒子的四个边界

    CSS下这些矩形盒子由标准盒模型描述.这个模型描述元素内容占用空间.盒子有四个边界:外边距边界margin edge, 边框边界border edge, 内边距边界padding edge 与 内容边 ...

  4. 动态quartz新增、修改、删除

    1.定义job导出类 public class MyQuartzJob implements Job { private static Logger logger = LoggerFactory.ge ...

  5. 事件委托(event delegation) 或叫 事件代理

    比较好的介绍文章: 关于事件委托的整理 ,另附bind,live,delegate,on区别:https://www.cnblogs.com/MagicZhao123/p/5980957.html j ...

  6. docker 运行java程序时区问题

    如果 docker  上面 java  的当前时间比,真实时间慢了8 小时,那估计就是时区问题了, 需要在 打包docker镜像的时候 带上 localtime 和  timezone.(这2 个文件 ...

  7. KNN算法原理(python代码实现)

    kNN(k-nearest neighbor algorithm)算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性 ...

  8. centos7 docker私有仓库搭建

    习Docker的过程中Docker的私有仓库一直没能成功,就是因为CentOS 6.x和CentOS 7默认引入了支持https认证,每次在push和pull的时候都会报错,今天是周末,利用一天的时间 ...

  9. AXI总线的工作流程---握手机制

    AXI总线的工作流程---握手机制 信息来源 首先分析AXI Master的工作机制 握手机制 CMD和Data的流程图: 写操作流程:write transaction flow read操作的流程 ...

  10. windows 日志,IIS应用程序池回收日志

    应用程序池回收日志筛选事件ID:5074 进程被关闭:5186