Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Gabungkan baris menjadi CLOB

Seperti yang telah ditunjukkan oleh de.hh.holger, LISTAGG DENGAN CLOB? AGREGASI STRING LEBIH DARI 4000 KARAKTER DENGAN XMLAGG memang menyelesaikan masalah ini.

Saya telah menguraikan sedikit lebih jauh tentang masalah ini dan ini akan berhasil jika ada pesan string yang sangat panjang:

SELECT
   table_row_id,
   DBMS_XMLGEN.CONVERT (
     EXTRACT(
       xmltype('<?xml version="1.0"?><document>' ||
               XMLAGG(
                 XMLTYPE('<V>' || DBMS_XMLGEN.CONVERT(data_value)|| '</V>')
                 order by myOrder).getclobval() || '</document>'),
               '/document/V/text()').getclobval(),1) AS data_value
FROM (
   SELECT 1 myOrder, 1 table_row_id,'abcdefg>' data_value FROM dual
   UNION ALL
   SELECT 2, 1 table_row_id,'hijklmn' data_value FROM dual
   UNION ALL
   SELECT 3, 1 table_row_id,'opqrst' data_value FROM dual
   UNION ALL
   SELECT 4, 1 table_row_id,'uvwxyz' data_value FROM dual)
GROUP BY
   table_row_id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00900:kesalahan pernyataan SQL tidak valid? Apa yang salah dengan sql saya?

  2. Kompiler pro*C Oracle dan gnu C (__builtin_va_list, __attribute__, dll)

  3. Oracle Database12c ORA 01918 dan kesalahan koneksi

  4. Transpose satu baris menjadi banyak baris Oracle

  5. Oracle setelah pembaruan memicu membuat tautan basis data publik