WMSYS.WM_CONCAT不出现在12c中,原因是WMSYS.WM_CONCAT是一个oracle supported的internal函数,是在oracle workspace manager组件(wmsys用户)中包含的,这个函数是for workspace manager内部使用。
这意味着一般应用程序不建议去调用这个函数,因为这个函数可能会因为版本升级,或者需要优化性能等等其他的原因,oracle开发可以在不通知用户的情况下,修改或者取消这个函数。
所以不建议在application中使用这个函数。在11.2之后,可以使用LISTAGG函数。
详见WMSYS.WM_CONCAT Should Not Be Used For Customer Applications, It Is An Internal Function (Doc ID 1336219.1)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
10g: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select owner,object_name,object_type from dba_objects where object_name='WM_CONCAT'; OWNER OBJECT_NAME OBJECT_TYPE -------------------- ------------------------------ ------------------------------ PUBLIC WM_CONCAT SYNONYM WMSYS WM_CONCAT FUNCTION SQL> 11g: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select owner,object_name,object_type from dba_objects where object_name='WM_CONCAT'; OWNER OBJECT_NAME OBJECT_TYPE -------------------- ------------------------------ ------------------------------ PUBLIC WM_CONCAT SYNONYM WMSYS WM_CONCAT FUNCTION SQL> 12c: Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> select owner,object_name,object_type from dba_objects where object_name='WM_CONCAT'; no rows selected SQL> |