У меня есть процедура Oracle, которая будет принимать несколько значений внутри параметра. В части процедуры будет выполняться оператор select, содержащий результаты параметра в предложении where и помещая объединенные CLOB в переменную. В настоящее время я использую следующий запрос в процедуре, но когда я его запускаю, я получаю ошибку ниже.concatenate multiple clobs with Oracle Procedure
If CLOB_ID is not null then
SELECT cast((collect(CLOB_TEXT))as CLOB)
into v_MessageBody
FROM MESSAGE_CLOB_TABLE
WHERE MESSAGE_ID in CLOB_ID;
End If;
Ошибка: ORA-00932: incosistant типы данных: ожидалось - получил CLOB
Я также пытался писать это, используя функцию LISTAGG но LISTAGG не работает со значениями CLOB в MESSAGE_CLOB_TABLE
Любая помощь был бы очень признателен! Я использую Oracle 11g.
Что такое тип CLOB_ID в примере запроса и типа поля CLOB_TEXT? – ThinkJet
Кстати, это не ответ, но ... может быть, вам нужно добавить к вам запрос 'order by', потому что в текущем варианте нет гарантии получить строки из' message_clob_table' в любом разумном порядке. – ThinkJet