Работа с dbms_lob.copy и ошибка ORA-06502:

Я немного запутался в работе с dbms_lob.copy

CREATE OR REPLACE PROCEDURE Ex_PRC IS
 dest_lob CLOB;
 src_lob  CLOB;
BEGIN

  SELECT F_CLOB INTO dest_lob
  FROM EX_EMPLOYEE
  WHERE id = 1;

dbms_lob.copy (dest_lob, src_lob, 30, 1, 1);
  COMMIT;
END;

/

У меня ошибка numeric or value error invalid lob locator specified ora-22275

Я выполнил этот SO ответ, потому что мне нужно было разделить blob и переместить их .но я не понял, почему он использовал dbms_lob.createtemporary


person Moudiz    schedule 14.10.2016    source источник
comment
Ваш ответ здесь: stackoverflow.com/questions /33742687/   -  person atokpas    schedule 14.10.2016
comment
Большой объект, передаваемый пакету DBMS_LOB, не может быть переменной, инициализированной с помощью EMPTY_CLOB(), так как это не создает допустимого локатора большого объекта. Его необходимо либо инициализировать, выбрав clob из базы данных, либо с помощью DBMS_LOB.CREATETEMPORARY.   -  person mohsen.b    schedule 15.10.2016
comment
@mohsen.b можете ли вы привести пример, чтобы я его рассмотрел?   -  person Moudiz    schedule 15.10.2016
comment
пожалуйста, посмотрите на приведенные ниже примеры схемы Скотта в ответе   -  person mohsen.b    schedule 15.10.2016
comment
опубликовано как ответ и удалите комментарий, пожалуйста, @mohsen.b   -  person Moudiz    schedule 15.10.2016
comment
создать или заменить процедуру call_clob на p_clob clob; my_buff varchar2 (2000); бинарное_целое число := 2000; начать test_clob (p_clob); my_buff := dbms_lob.substr(p_clob,amt,1); dbms_output.put_line(my_buff); конец call_clob; / начать call_clob(); конец; /   -  person mohsen.b    schedule 15.10.2016


Ответы (1)


person    schedule
comment
хорошо, спасибо за ваш пример, я проверю его, когда вернусь в свой офис - person Moudiz; 15.10.2016