在oracle中连接CLOB数据

时间:2012-11-20 16:01:29

标签: oracle clob

我需要将各种CLOB数据连接到一个CLOB字段中。

我有一个包含各种行的数据库,每个行包含一些char字段(例如BATCH_ID)和一个CLOB(BATCH_BODY)。我不确定如何连接CLOB以使所有内容成为一行。

最终目标是将BATCH_ID相同的所有行组合成一行,其中一个CLOB文件由各种BATCH_BODY组成

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

要使用长度超过32K的CLOB而不截断,我需要这样的代码:

--ALL_XML := ALL_XML || SINGLE_XML;
--The above crashed on Oracle 11g with text beyond 32K, so...
lobLength := DBMS_LOB.GETLENGTH(SINGLE_XML);
FOR i IN 0..100 LOOP
    offset := i * buffSize + 1;
    EXIT WHEN SINGLE_XML IS NULL OR lobLength < offset;
    -- fill the buffer with final data chunk to append to the lob
    buffer := DBMS_LOB.SUBSTR(SINGLE_XML, buffSize, offset);
    DBMS_LOB.APPEND(ALL_XML, TO_CLOB(buffer));
END LOOP;