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)
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>
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:
OracleDatabase10gEnterpriseEditionRelease10.2.0.5.0-64bitProduction
WiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions
SQL>selectowner,object_name,object_typefromdba_objectswhereobject_name='WM_CONCAT';
OWNEROBJECT_NAMEOBJECT_TYPE
--------------------------------------------------------------------------------
PUBLICWM_CONCATSYNONYM
WMSYSWM_CONCATFUNCTION
SQL>
11g:
OracleDatabase11gEnterpriseEditionRelease11.2.0.4.0-64bitProduction
WiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions
SQL>selectowner,object_name,object_typefromdba_objectswhereobject_name='WM_CONCAT';
OWNEROBJECT_NAMEOBJECT_TYPE
--------------------------------------------------------------------------------
PUBLICWM_CONCATSYNONYM
WMSYSWM_CONCATFUNCTION
SQL>
12c:
Connectedto:
OracleDatabase12cEnterpriseEditionRelease12.1.0.2.0-64bitProduction
WiththePartitioning,OLAP,AdvancedAnalyticsandRealApplicationTestingoptions
SQL>selectowner,object_name,object_typefromdba_objectswhereobject_name='WM_CONCAT';
norowsselected
SQL>