oracle 11 wm concat,【Oracle开发】关于11.2上WMSYS.WM_CONCAT的workaround
有很多人問關于新版本中WMSYS.WM_CONCAT函數無法使用的問題。 對于該函數,Oracle官方的態(tài)度是其從來沒有將該函數列入任何官方文檔中,這個函數僅僅是讓Oracle Dev研發(fā)在針對內部對象例如SYS的存儲過程、字典表等使用的,并沒有鼓勵普通的應用開發(fā)者去使用該
有很多人問關于新版本中WMSYS.WM_CONCAT函數無法使用的問題。
對于該函數,Oracle官方的態(tài)度是其從來沒有將該函數列入任何官方文檔中,這個函數僅僅是讓Oracle Dev研發(fā)在針對內部對象例如SYS的存儲過程、字典表等使用的,并沒有鼓勵普通的應用開發(fā)者去使用該WMSYS.WM_CONCAT函數,但是由于部分應用開發(fā)者發(fā)現了這個函數,而且覺得較為好用,所以在應用程序編寫過程中大量使用該函數,其結果是由于Oracle對該函數在后續(xù)版本中的修改(包括fix、增強)乃至于完全去掉這個函數都是有可能的。
不少人就遇到了這個問題,在新的11.2中沒有找到該WMSYS.WM_CONCAT函數,也就意味著其應用程序無法在11.2上正常運行。
這里可以說最初發(fā)現這個WMSYS.WM_CONCAT函數的人,即做了一件好事,同時又做了一件壞事。
Oracle官方的態(tài)度是在11.2中應當使用 listagg函數而非WMSYS.WM_CONCAT。
關于LISTAGG:
Oracle? Database SQL Language Reference 11g?Release 2 (11.2)
Oracle? Database SQL Language Reference 12c?Release 1 (12.1)
但國內的一些朋友肯定還會堅持要在11.2中使用WMSYS.WM_CONCAT,這里提供一種workaround,自己用source來創(chuàng)建WMSYS.WM_CONCAT
SQL>? CREATE OR REPLACE
type?????? WM_CONCAT_IMPL wrapped
a000000
1
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
d
270 160
bg9hz+fBwa888VEZGViHFs/oOP0wg433f64df3QCWE7VehmhTFcUe3y+JrsniV3cSuvmnE3g
Y93dtR+cCsU1N+UQDGbtzhCf2HIdr8lPzfgF2bmCTvmGlHQbTAjTftNrDq3p093ncwb32OyX
3ZFDTeH2jpjm3uWYyT8kZBfJIYxRwgLfRApoW32cpy0eRnvDBt2XfTAMXKCSNnqSoTiGA83W
6deKW+rWyBu9L/EPyFkmQZeBncNsiNDF8fa1Sm6vdQiEanlCQnaPJ11a0na8hK6psDSaey+x
fdMupCwSvg6gMrSV4QCguhOCqW2AmxRVMqpXJootPpTBxBFZc7hORGbriUI=
/
Type created.
#www.askmaclean.com
SQL>? CREATE OR REPLACE function wm_concat wrapped
a000000
1
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
8
58 96
+CuW1MAfZPVR6NOnXKVmXY2o9pswg8eZgcfLCNL+XhZy8K7/cgzcVrPnfMPnx3TAM7h0ZSXD
j57Asr2ym9ZtFldFmFu+RdpAU8VGORKSvtVG+DmAOR4C+NTa+Pit2kDbEpI5zhZUgqameSkE
DQ==
/
Function created.
#http://www.askmaclean.com/archives/wmsys-wm_concat.html?
#www.askmaclean.com
SQL>? select wm_concat(object_id) from sys.user_objects
/
WM_CONCAT(OBJECT_ID)???????????????????????????????????????????????????????????
--------------------------------------------------------------------------------
108674,108672,53144,53147,53150,53151,53162????????????????????????????????????
1 row selected.
Related posts:Oracle用戶密碼使用特殊符號,例如&(AND)、$(Dollar)、#(Pound)、*(Star)等
本文原創(chuàng)發(fā)布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的oracle 11 wm concat,【Oracle开发】关于11.2上WMSYS.WM_CONCAT的workaround的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac键盘图标与对应快捷按键
- 下一篇: 病毒式营销策划书