Как очистить clob в PL SQL
Создано использование clob
dbms.lob.createTemporary(v_clob,true)
и пытается бесплатно использовать
dbms.lob.freetemporary(v_clob)
Это не очищает сгусток. Пробовал также empty_clob().
3 ответа
Я не уверен, что это правильный путь, но мне приходилось инициализировать CLOB в начале каждой итерации цикла. Это сработало для меня:
Dbms_Lob.CreateTever (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;
/