Что-то по следующим направлениям должно сделать эту работу.Вы бы хотели его параметризовать и сделать отдельную версию для BLOB-данных.Не уверен, есть ли у вас проблемы с набором символов.
declare
l_bfile bfile := bfilename('DATA_PUMP_DIR','cpy.log');
l_data clob;
l_soffset NUMBER := 1;
l_doffset NUMBER := 1;
l_lang NUMBER := 0;
l_warn NUMBER;
begin
DBMS_LOB.createtemporary (lob_loc => l_data,cache => TRUE,
dur => DBMS_LOB.call);
dbms_lob.fileopen( l_bfile, DBMS_LOB.file_readonly );
DBMS_LOB.loadclobfromfile(l_data, l_bfile, DBMS_LOB.LOBMAXSIZE,
l_soffset, l_doffset, 0, l_lang, l_warn );
dbms_lob.fileclose(l_bfile);
update f_lob set value = l_data where id = 1;
end;
/