本文主要汇总了 Oracle 数据库在升级到 19C 版本之后遇到的一些问题以及解决方案。
WM_CONCAT 函数取消
在升级数据库到 19C 之后进行数据对象重编译时,发现很多 procedure 编译报错,在原来的库上可以正常运行,经过分析发现是缺少 WM_CONCAT 函数。经过搜索发现,在 19C 版本,官方移除了 WM_CONCAT
函数,改用了 LISTAGG
函数。
解决方案有以下两种:
- 19C 中手动创建 wm_concat 函数;
- 使用其替代函数:listagg;
如果代码中使用的 wm_concat 函数不多,建议使用 listagg 替代,否则重建 wm_concat 函数更快。
LISTAGG
select d.dname,
listagg (e