Pular para o conteúdo

Fóruns SQL e PL/SQL Campos blob Campos blob

#90571
marlontk
Participante

    Segue função que converte um Blob para Clob.

    CREATE OR REPLACE FUNCTION func_converte_blob_clob
    — procedimento que converte um campo blob para clob
    (p_blob in blob)
    return clob
    as
    v_blob BLOB;
    v_clob CLOB;
    dest_offset NUMBER := 1;
    src_offset NUMBER := 1;
    amount INTEGER := dbms_lob.lobmaxsize;
    blob_csid NUMBER := dbms_lob.default_csid;
    lang_ctx INTEGER := dbms_lob.default_lang_ctx;
    warning INTEGER;
    begin
    DBMS_LOB.CREATETEMPORARY(lob_loc=>v_blob, cache=>TRUE, dur=>dbms_lob.SESSION);
    DBMS_LOB.CREATETEMPORARY(lob_loc=>v_clob, cache=>TRUE, dur=>dbms_lob.SESSION);
    V_BLOB:= P_BLOB;
    DBMS_LOB.CONVERTTOCLOB(v_clob,v_blob,amount,dest_offset,src_offset,blob_csid,lang_ctx,warning);
    — insert numa tabela que tenha um campo xmltype
    RETURN V_CLOB;
    END;