??????
出處: http://blog.sina.com.cn/s/blog_59ca2c2a0101ilv1.html
????? BlobToClob函數(shù),代碼如下:
--
先創(chuàng)建Blog轉(zhuǎn)換為Clob的function
CREATE ? OR ? REPLACE ? FUNCTION ?BlobToClob(blob_in? IN ?BLOB)? RETURN ?CLOB? AS
????v_clob????CLOB;
????v_varchar? VARCHAR2 ( 32767 );
????v_start???PLS_INTEGER?: = ? 1 ;
????v_buffer??PLS_INTEGER?: = ? 32767 ;
BEGIN
????DBMS_LOB.CREATETEMPORARY(v_clob,?TRUE);
???? FOR ?i? IN ? 1 ?..?CEIL(DBMS_LOB.GETLENGTH(blob_in)? / ?v_buffer)?LOOP
????????v_varchar?: = ?UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(blob_in,
??????????????????????????????????????????????????????????????v_buffer,
??????????????????????????????????????????????????????????????v_start));
????????DBMS_LOB.WRITEAPPEND(v_clob,?LENGTH(v_varchar),?v_varchar);
? ? ? ? --DBMS_OUTPUT.PUT_LINE(v_varchar);
????????v_start?: = ?v_start? + ?v_buffer;
???? END ?LOOP;
???? RETURN ?v_clob;
END ?BlobToClob;
CREATE ? OR ? REPLACE ? FUNCTION ?BlobToClob(blob_in? IN ?BLOB)? RETURN ?CLOB? AS
????v_clob????CLOB;
????v_varchar? VARCHAR2 ( 32767 );
????v_start???PLS_INTEGER?: = ? 1 ;
????v_buffer??PLS_INTEGER?: = ? 32767 ;
BEGIN
????DBMS_LOB.CREATETEMPORARY(v_clob,?TRUE);
???? FOR ?i? IN ? 1 ?..?CEIL(DBMS_LOB.GETLENGTH(blob_in)? / ?v_buffer)?LOOP
????????v_varchar?: = ?UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(blob_in,
??????????????????????????????????????????????????????????????v_buffer,
??????????????????????????????????????????????????????????????v_start));
????????DBMS_LOB.WRITEAPPEND(v_clob,?LENGTH(v_varchar),?v_varchar);
? ? ? ? --DBMS_OUTPUT.PUT_LINE(v_varchar);
????????v_start?: = ?v_start? + ?v_buffer;
???? END ?LOOP;
???? RETURN ?v_clob;
END ?BlobToClob;
?
??
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
