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. 计算机网络-数据结构-MAC帧头-IP头-TCP头-UDP头

    第0章 数据是如何进行一步步的封装的 第一章:mac帧头定义 帧头数据结构的定义: 一.MAC帧头定义 /*数据帧定义,头14个字节,尾4个字节*/ typedef struct _MAC_FRAME ...

  2. Centos7解决中文乱码问题

    查看当前文字编码,发现都是en_US.UTF-8,也就是说还不能完美支持中文编码,如果是zh_CN.UTF-8,那就说明能够比较完美支持中文编码了(我猜的) [root@biaopei ~]# loc ...

  3. oracle-闪回技术2

    闪回版本查询,用到了附加日志 闪回事务查询 http://blog.csdn.net/laoshangxyc/article/details/12405459 这个博客的备份与恢复可以参考 ##### ...

  4. 存储-实例-ibm v3700

    raid5总容量计算(n-1)*最小盘容量 RAID0:N块盘组成,逻辑容量为N块盘容量之和:RAID1:两块盘组成,逻辑容量为一块盘容量:RAID3:N+1块盘组成,逻辑容量为N块盘容量之和:RAI ...

  5. 短小而精悍的JsvaScript函数

    1. 回到顶部, 使用浏览器的刷新频率 requestAnimationFrame 来实现的 const scrollToTop = () => { const c = document.doc ...

  6. mysql 的 docker 镜像使用

    mysql 的 docker 镜像使用: 下载镜像: docker pull mysql:8.0.14 运行容器: docker run -it -e MYSQL_ROOT_PASSWORD=mypw ...

  7. [转载] C# DllImport用法和路径问题

    DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息. DllImport属性应用于方法,要求最少 ...

  8. Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(

    application.class要放在根目录下,否则会发生以下错误

  9. 阅读<AXI4-Stream Infrastructure IP Suite v2.2>笔记

    阅读<AXI4-Stream Infrastructure IP Suite v2.2>笔记 为了配合tpg和video_out IP核的使用,我们需要使用此组件中的AXI4-stream ...

  10. 支付宝内部功能调用APP的said说明

    追加: 支付宝收款码 alipayqr://platformapi/startapp?saId=20000123   微信扫一扫 weixin://scanqrcode (跳转微信扫一扫) 支付宝扫一 ...