【发布时间】:2016-09-29 09:24:18
【问题描述】:
使用
创建的clobdbms.lob.createTemporary(v_clob,true)
并尝试使用
释放dbms.lob.freetemporary(v_clob)
它没有清除 clob。 也尝试了 empty_clob()。
【问题讨论】:
-
假设您打开了 clob,您是否在释放它之前将其关闭?
使用
创建的clobdbms.lob.createTemporary(v_clob,true)
并尝试使用
释放dbms.lob.freetemporary(v_clob)
它没有清除 clob。 也尝试了 empty_clob()。
【问题讨论】:
这应该可以解决问题:
v_clob := '';
【讨论】:
我不确定这是不是正确的方法,但我必须在每次循环迭代开始时初始化 CLOB。这对我有用:
Dbms_Lob.CreateTemporary(v_clob, TRUE);
【讨论】:
如何做类似下面的事情。试试这个,看看它是否适合你。
DECLARE
dummy clob;
dummy2 clob;
BEGIN
dummy := empty_clob();
IF dummy = empty_clob() THEN
dummy2 := dummy;
END IF;
END;
编辑:请看一个例子。希望这会有所帮助。
declare
l_c clob := 'Hello World!';
l_a number;
begin
l_a:=length(l_c);
dbms_output.put_line( 'The original clob = *' || l_c || '*' );
--Erase all the data in the clob. Emptying it.
dbms_lob.erase( l_c, l_a );
dbms_output.put_line( 'The clob modified now = *' || l_c || '*' );
end;
/
【讨论】: