У меня есть одна функция, которая в основном использует XML в качестве входных данных и выполняет следующий шаг.
Я передаю XML из одного оператора, но он дает ошибку
"Строкалитерал длиннее 4000 символов "
Функция
create or replace FUNCTION F_ADD_TEST(P_XML_DATA CLOB) RETURN NUMBER AS
xmlContent xmlType;
RESP_XML XMLTYPE;
o xmlType;
c xmlType;
BEGIN
--xmlContent := xmlType(xmlData);
raise_application_error('-20003',P_XML_DATA);
-- Further steps
RETURN 1;
END F_ADD_TEST;
Оператор
Select F_ADD_TEST('<?xml version="1.0" encoding="UTF-8"?>
<SyncReceiveDelivery xmlns:ln="http://schema.infor.com/InforOAGIS/2">
<DataArea>
<ReceiveDelivery>
<ReceiveDeliveryHeader>
<DocumentID>
<ID>100_ZHA005270</ID>
</DocumentID>
<WarehouseLocation>
<ID>W_ZHF12S</ID>
</WarehouseLocation>
</ReceiveDeliveryHeader>
<ReceiveDeliveryItem>
<LineNumber>10</LineNumber>
<ItemID>
<ID>24101600PA02435</ID>
<RevisionID>S000</RevisionID>
</ItemID>
<ReceivedQuantity>1</ReceivedQuantity>
<ServiceOrder>KRH000033</ServiceOrder>
</ReceiveDeliveryItem>
<ReceiveDeliveryItem>
<LineNumber>20</LineNumber>
<ItemID>
<ID>24101600PA04407</ID>
<RevisionID>S000</RevisionID>
</ItemID>
<ReceivedQuantity>4</ReceivedQuantity>
<ServiceOrder>KRH000033</ServiceOrder>
</ReceiveDeliveryItem>
</ReceiveDelivery>
</DataArea>
</SyncReceiveDelivery>') from dual;
ЕслиСодержимое XML огромно. Я получаю сообщение об ошибке
«Строковый литерал длиннее 4000 символов»
Я изменил тип данных с Varchar на clob, но все тот же.Пожалуйста, помогите мне в этом.