Oracle數據庫11g企業版版本11.2.0.2.0 - 64位生產。如何在選擇查詢中調整LISTAGG以支持超過4000個字符?
我有一個表格,格式如下。
Name Department
Johny Dep1
Jacky Dep2
Ramu Dep1
我需要以下格式的輸出。
Dep1 - Johny,Ramu
Dep2 - Jacky
我試過'LISTAGG'功能,但有4000個字符的硬限制。由於我的數據庫表是巨大的,這不能在應用程序中使用。另一種選擇是使用
SELECT CAST(COLLECT(Name)
但我的框架,讓我只執行選擇查詢,沒有PL/SQL scripts.Hence我沒有發現任何方式使用「CREATE TYPE」創建一個類型,是必需的命令爲COLLECT命令。
是否有任何替代方法使用select查詢來實現上述結果?
感謝Dazzal。 DBMSOUTPUT_LINESARRAY也在我的db中工作。我通過使用XMLAGG找到了另一種方法。 Plz讓我知道哪一個是最好用的考慮我的emp表包含20000多行。 – 2013-03-28 19:16:35
@AnuChandran測試兩者,看看哪個更適合你。 XML方法就像[here](http://stackoverflow.com/questions/14864055/listagg-function-and-ora-01489-result-of-string-concatenation-is-too-long)雖然會有一些開銷。 – DazzaL 2013-03-29 12:04:56