Ошибка plsql при использовании xmlattributes с clob - PullRequest
1 голос
/ 27 мая 2019

У меня есть этот запрос. Работает нормально, только если для столбца 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

...