oracle 出参类型定义,Oracle plsql出参clob类型的操作
Steps:
1. DBMS_LOB.createtemporary (store_in_list, TRUE); --獲取lob locator
2. DBMS_LOB.OPEN(store_in_list, DBMS_LOB.LOB_READWRITE);--打開
3. dbms_lob.writeappend(store_in_list, LENGTH(v_result), v_result);--writeappend 在后面追加
4. DBMS_LOB.CLOSE(store_in_list); --關閉lob locator
Step1時執(zhí)行下面的SQL,會發(fā)現(xiàn)多了一個 LOB_DATA
select u.tablespace, u.contents, u.segtype, u.extents, u.blocks, round(((u.blocks*P.VALUE)/1024/1024),2) MB
from v$session s, v$sort_usage u, SYS.V_$SYSTEM_PARAMETER P
where s.saddr = u.session_addr
AND UPPER(P.NAME)='DB_BLOCK_SIZE'
order by MB DESC;
TABLESPACE CONTENTS SEGTYPE EXTENTS BLOCKS MB
------------------------------- --------- --------- ---------- ---------- ----------
TEMP TEMPORARY LOB_DATA 48 6144 48
TEMP TEMPORARY LOB_DATA 48 6144 48
TEMP TEMPORARY LOB_INDEX 1 128 1
TEMP TEMPORARY LOB_INDEX 1 128 1
Step4后,程序退出后,執(zhí)行上面SQL,LOB_DATA已消除。
declare
clb?clob;
ch?varchar2(32767);
k?number;
begin
dbms_lob.createtemporary(clb,true,dbms_lob.call);
for?i?in?1..1500?loop
ch:=lpad('o',32767,'Y');
dbms_lob.writeappend(clb,length(ch),ch);
end?loop;
k:=dbms_lob.getlength(clb);
dbms_lob.freetemporary(clb); --使用完后手工釋放
dbms_output.put_line('the?clob?length:?'||k);
end;
/
簡單的使用過程,更深入的原理待以后研究。
總結(jié)
以上是生活随笔為你收集整理的oracle 出参类型定义,Oracle plsql出参clob类型的操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 704.二分查找
- 下一篇: 多机器人路径规划的代码_知荐 | 地平线