CREATE OR REPLACE FUNCTION C2B(b IN CLOB default empty_clob()) RETURN BLOB
-- typecasts BLOB to CLOB (binary conversion)
IS
res BLOB;
b_len number := dbms_lob.getlength(b);
dest_offset1 NUMBER := 1;
src_offset1 NUMBER := 1;
amount_c INTEGER := DBMS_LOB.lobmaxsize;
blob_csid NUMBER := DBMS_LOB.default_csid;
lang_ctx INTEGER := DBMS_LOB.default_lang_ctx;
warning INTEGER;
BEGIN
if b_len > 0 then
DBMS_LOB.createtemporary(res, TRUE);
DBMS_LOB.OPEN(res, DBMS_LOB.lob_readwrite);
DBMS_LOB.convertToBlob(res,
b,
amount_c,
dest_offset1,
src_offset1,
blob_csid,
lang_ctx,
warning);
else
select empty_blob() into res from dual;
end if;
RETURN res; -- res is OPEN here
END C2B;
oracle存储过程将字段CLOB转成BLOB
猜你喜欢
转载自z-jiankun.iteye.com/blog/2066988
今日推荐
周排行