У меня есть этот запрос. Работает нормально, только если для столбца my_table_column_string_xml
установлено значение VARCHAR2
.
К сожалению, этот столбец должен содержать более длинные данные, чем varchar2
максимальная длина.
Я попытался переместить столбец в тупик, но если я запустил запрос, я получил ошибку:
ORA-19202: ошибка во время разработки XML
ORA-00932: неподходящие типы данных: ожидаемые -, полученные CLOB
ORA-06512: a "SYS.DBMS_XMLGEN", строка 237
ORA-06512: a "SYS.DBMS_XMLGEN", строка 271
ORA-06512: линия 1
Я также попытался установить для столбца значение XMLTYPE
, но я получаю такое же сообщение об ошибке при выполнении запроса (кроме жирного, который, как он говорит, получил CLOB)
select xmlelement("ROOT",xmlagg(dbms_xmlgen.getxmltype(dbms_xmlgen.newcontextFromHierarchy
('select level,xmlelement(evalname entita,xmlattributes(my_table_column_string_xml as MyXmlString))
from( select *
from MyTable t
)
connect by prior my_table_column_object = my_table_column_object_father
start with my_table_column_object_father is null
order by my_table_column_order
')))).getClobVal() as xml
from dual;
Мне нужен тот же результат, что и в моем исходном запросе, даже если я использую столбец clob