2012-11-20 34 views
2

我需要將各種CLOB數據連接到單個CLOB字段。我有一個數據庫與各行,每個包含幾個字符字段(BATCH_ID例如)和一個CLOB(BATCH_BODY)。我不確定如何連接CLOB以使所有內容都成爲單行。在oracle中連接CLOB數據

的最終目標是組合在一起的所有行,其中BATCH_ID是一樣的成單行是由各種BATCH_BODY的

回答

0

要與沒有截斷的CLOB大於32K不再起作用了,我需要這樣的代碼:

--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;