2017-11-10 68 views

答えて

1

次の関数を使用することができます。

CREATE OR REPLACE FUNCTION clob_to_blob(src_clob CLOB) RETURN BLOB IS 
    tgt_blob BLOB; 
    amount INTEGER := DBMS_LOB.lobmaxsize; 
    dest_offset INTEGER := 1; 
    src_offset INTEGER := 1; 
    blob_csid INTEGER := nls_charset_id('UTF8'); 
    lang_context INTEGER := DBMS_LOB.default_lang_ctx; 
    warning INTEGER := 0; 
begin 
    if src_clob is null then 
     return null; 
    end if; 

    DBMS_LOB.CreateTemporary(tgt_blob, true); 
    DBMS_LOB.ConvertToBlob(tgt_blob, src_clob, amount, dest_offset, src_offset, blob_csid, lang_context, warning); 
    return tgt_blob; 
end clob_to_blob; 

使用

UPDATE mytable SET column1_blob = clob_to_blob(column2_clob); 
関連する問題