CREATE OR REPLACE PACKAGE LOB_UTL_PCKG
IS
FUNCTION BLOBREPLACE (p_blob BLOB, p_what VARCHAR2, p_with_what VARCHAR2) RETURN BLOB;
FUNCTION BLOB2CLOB (p_blob BLOB) RETURN CLOB;
FUNCTION CLOB2BLOB (p_clob CLOB) RETURN BLOB;
END;
/
CREATE OR REPLACE PACKAGE BODY LOB_UTL_PCKG
IS
FUNCTION BLOBREPLACE (p_blob BLOB, p_what VARCHAR2, p_with_what VARCHAR2) RETURN BLOB
IS
BEGIN
RETURN CLOB2BLOB( REPLACE(BLOB2CLOB(p_blob), p_what, p_with_what) );
END BLOBREPLACE;
------------------------------ BLOB2CLOB -------------------------
FUNCTION BLOB2CLOB (p_blob in BLOB) RETURN CLOB
IS
v_clob CLOB;
dest_offset INTEGER := 1;
src_offset INTEGER := 1;
lang_context INTEGER := DBMS_LOB.DEFAULT_LANG_CTX;
warning INTEGER;
BEGIN
DBMS_LOB.CREATETEMPORARY ( v_clob, TRUE );
DBMS_LOB.CONVERTTOCLOB(
v_clob,
p_blob,
DBMS_LOB.LOBMAXSIZE,
dest_offset,
src_offset,
DBMS_LOB.DEFAULT_CSID,
lang_context,
warning
);
RETURN v_clob;
END BLOB2CLOB;
------------------------------ CLOB2BLOB -------------------------
FUNCTION CLOB2BLOB (p_clob CLOB) RETURN BLOB
AS
l_blob BLOB;
l_dest_offset INTEGER := 1;
l_source_offset INTEGER := 1;
l_warning INTEGER;
lang_context INTEGER := DBMS_LOB.DEFAULT_LANG_CTX;
BEGIN
DBMS_LOB.CREATETEMPORARY(l_blob, TRUE);
DBMS_LOB.CONVERTTOBLOB(
l_blob,
p_clob,
DBMS_LOB.LOBMAXSIZE,
l_dest_offset,
l_source_offset,
DBMS_LOB.DEFAULT_CSID,
lang_context,
l_warning
);
RETURN l_blob;
END CLOB2BLOB;
END;
/
Showing posts with label VARCHAR. Show all posts
Showing posts with label VARCHAR. Show all posts
Friday, March 30, 2012
REPLACE function for BLOB fields in Oracle
This post is about how you can REPLACE text content in a BLOB field in Oracle. This can be a very useful when you require to do string replacements in BLOB fields.
Subscribe to:
Posts (Atom)