Я пытаюсь вставить большой файл xml длиной 43000 в clob
.Как вставить большие данные в таблицу с помощью переменной привязки
asktom remcomanded с использованием переменных связывания, но его связи были сломаны.
так что мой вопрос, как вставить большой файл xml в переменную связывания. это моя процедура
CREATE OR REPLACE PROCEDURE sp_insert_xml
(
p_id IN INT,
p_xml IN clob
)
AS
BEGIN
declare x clob;
y number(10);
begin
SELECT FILE into x from PROCESS_D where PROCESS_ID =1;
select dbms_lob.getlength(x) into y from dual;
DBMS_OUTPUT.PUT_LINE(y);
end;
--INSERT INTO TEST_ID VALUES (p_id, p_xml);
END;
Я хочу, чтобы разделить длину, так что я могу вставить их в таблицу
Где находится документ XML? Если у вас есть только строка (так что не можете загрузить ее непосредственно из файла в базу данных), с какого клиента вы планируете вызывать свою процедуру? –
@AlexPoole мой документ создается из приложения и вставлен в таблицу, я хочу сделать этот «документ» в качестве запроса в блочном выражении и разбить его, чтобы я мог вставить его в другую базу данных. – Moudiz
Не уверен, что я следую. Ваш код помещает 'process_d.file' в CLOB; что XML-документ? Тогда что такое 'p_xml'? Если у вас уже есть CLOB в качестве переменной, я не уверен, в чем проблема. Вы пытаетесь разбить один из CLOB на 32 тыс. Кусков, чтобы сохранить его как varchar2? Или вы пытаетесь [конструировать CLOB из более коротких строковых литералов] (http://stackoverflow.com/a/17359646/266304) перед вызовом вашей процедуры? –