【问题标题】:How to clear clob in PL SQL如何在 PL SQL 中清除 clob
【发布时间】:2016-09-29 09:24:18
【问题描述】:

使用

创建的clob
dbms.lob.createTemporary(v_clob,true) 

并尝试使用

释放
dbms.lob.freetemporary(v_clob)

它没有清除 clob。 也尝试了 empty_clob()。

【问题讨论】:

  • 假设您打开了 clob,您是否在释放它之前将其关闭?

标签: plsql clob


【解决方案1】:

这应该可以解决问题:

v_clob := '';

【讨论】:

    【解决方案2】:

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

    Dbms_Lob.CreateTemporary(v_clob, TRUE);

    【讨论】:

      【解决方案3】:

      如何做类似下面的事情。试试这个,看看它是否适合你。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-03
        • 1970-01-01
        • 1970-01-01
        • 2013-07-31
        • 1970-01-01
        • 2023-03-16
        • 2012-08-18
        • 1970-01-01
        相关资源
        最近更新 更多