यह pl/sql कोड oracle 11g में काम करना चाहिए। यह क्लॉब्स के टेक्स्ट को फ़ाइल नाम के शीर्षक के साथ निर्देशिका में डंप करता है।
BEGIN
FOR rec IN (
select title, text
from mytable
)
LOOP
DBMS_XSLPROCESSOR.clob2file(rec.text, 'DUMP_SOURCES', rec.title ||'.txt');
END LOOP;
END;
यदि DBMS_XSLPROCESSOR उपलब्ध नहीं है तो आप DBMS_XSLPROCESSOR.clob2file को UTL_FILE का उपयोग करने वाली प्रक्रिया से बदल सकते हैं।
उदाहरण के लिए:
CREATE OR REPLACE PROCEDURE CLOB2FILE (
clob_in IN CLOB,
directory_name IN VARCHAR2,
file_name IN VARCHAR2
)
IS
file_handle UTL_FILE.FILE_TYPE;
clob_part VARCHAR2(1024);
clob_length NUMBER;
offset NUMBER := 1;
BEGIN
clob_length := LENGTH(clob_in);
file_handle := UTL_FILE.FOPEN(directory_name, file_name, 'W');
LOOP
EXIT WHEN offset >= clob_length;
clob_part := DBMS_LOB.SUBSTR (clob_in, 1024, offset);
UTL_FILE.PUT(file_handle, clob_part);
offset := offset + 1024;
END LOOP;
UTL_FILE.FFLUSH(file_handle);
UTL_FILE.FCLOSE(file_handle);
EXCEPTION
WHEN OTHERS THEN
UTL_FILE.FCLOSE(file_handle);
RAISE;
END;
या शायद DBMS_XSLPROCESSOR.clob2file को dbms_advisor.create_file से बदलें।