Plsql 如何在PL SQL中清除clob

Plsql 如何在PL SQL中清除clob,plsql,clob,Plsql,Clob,使用创建clob dbms.lob.createTemporary(v_clob,true) 并尝试免费使用 dbms.lob.freetemporary(v_clob) 它不是在清除clob。 也尝试了空的\u clob()。做下面这样的事情怎么样。试试这个,看看是否适合你 DECLARE dummy clob; dummy2 clob; BEGIN dummy := empty_clob(); IF dummy = empty_clob() THEN

使用创建clob

dbms.lob.createTemporary(v_clob,true) 
并尝试免费使用

dbms.lob.freetemporary(v_clob)
它不是在清除clob。
也尝试了空的\u clob()。

做下面这样的事情怎么样。试试这个,看看是否适合你

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;
     /

做下面这样的事情怎么样。试试这个,看看是否适合你

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;
     /

这应该可以解决问题:

v_clob := '';

这应该可以解决问题:

v_clob := '';

我不确定这是不是正确的方法,但我必须在每次循环迭代开始时初始化CLOB。这对我起了作用:


Dbms_Lob.CreateTemporary(v_clob,TRUE)

我不确定这是否正确,但我必须在每次循环迭代开始时初始化CLOB。这对我起了作用:


Dbms_Lob.CreateTemporary(v_clob,TRUE)

假设你打开了clob,你在释放它之前关闭了它吗?假设你打开了clob,你在释放它之前关闭了它吗?