使用
创建clobdbms.lob.createTemporary(v_clob,true)
并尝试免费使用
dbms.lob.freetemporary(v_clob)
它没有清除clob。 尝试了empty_clob()。
答案 0 :(得分:2)
这应该可以解决问题:
v_clob := '';
答案 1 :(得分:1)
我不确定这是正确的方法,但我必须在每次循环迭代开始时初始化CLOB。这对我有用:
Dbms_Lob.CreateTemporary(v_clob,TRUE);
答案 2 :(得分:0)
做下面的事情怎么样?试试这个并检查它是否适合你。
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;
/