DECLARE
CURSOR C1 IS
SELECT OWNER||','||OBJECT_NAME||','||OBJECT_ID||','||OBJECT_TYPE REC_TAB
FROM ALL_OBJECTS
WHERE ROWNUM<=10;
L_BLOB BLOB DEFAULT EMPTY_BLOB();
TMP_BFILE BFILE:=NULL;
DEST_OFFSET INTEGER:=1;
SRC_OFFSET INTEGER:=1;
L_WARNING INTEGER;
LANG_CONTEXT INTEGER;
BLOB_CSID NUMBER;
OFFSET INTEGER;
BUFFER VARCHAR2(3267);
L_CLOB CLOB DEFAULT EMPTY_CLOB();
BEGIN
DBMS_LOB.CREATETEMPORARY(L_CLOB, TRUE);
FOR I IN C1 LOOP
L_CLOB:=L_CLOB||I.REC_TAB||CHR(13);
END LOOP;
SYS.DBMS_LOB.CONVERTTOBLOB(
DEST_LOB => L_BLOB,
SRC_CLOB => L_CLOB,
AMOUNT => DBMS_LOB.GETLENGTH(L_CLOB),
DEST_OFFSET => DEST_OFFSET,
SRC_OFFSET => SRC_OFFSET,
BLOB_CSID => BLOB_CSID,
LANG_CONTEXT => LANG_CONTEXT,
WARNING => L_WARNING
);
END;