如何使用 dbms.lob.createTemporary(v_clob,true)
dbms.lob.createTemporary(v_clob,true)
,并尝试使用
dbms.lob.freetemporary(v_clob)
它不清除CLOB释放清除CLOB的PL SQL
问题描述:
答
怎么样做下面的事情。试试这个,并检查它是否适合你。
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;
/
+0
也尝试过这种方式。它不起作用。 –
答
这应该解决的问题:
v_clob := '';
答
我不知道这是正确的方式,但我不得不初始化CLOB在每次循环迭代的开始。这对我有效:
Dbms_Lob.CreateTemporary(v_clob,TRUE);
假设你打开clob,你是否在释放它之前关闭它? –