У меня есть требование возвращать данные из функции PL / SQL в веб-службу, реализованную в REST API. Я разрабатываю функцию PL / SQL, которая запускает цикл и собирает необходимые данные в табличный тип PL / SQL. Теперь мне нужно вернуть эти данные так, чтобы веб-сервис мог их использовать. Я планирую использовать пакет DBMS_XMLGEN, чтобы преобразовать данные в табличном типе PL / SQL в XML (сохраненный в CLOB) и вернуть CLOB из функции.
Есть ли лучший способ сделать это? Если то, что я указал выше, хорошо, то есть ли проблемы с этим подходом?
create or replace function f1(p1, p2, ...) return clob
is
ctx dbms_xmlgen.ctxhandle;
xml clob;
begin
<< Build PL/SQL Table type tbl >>
....
ctx := dbms_xmlgen.newContext('select * from TABLE(cast(forecast_tbl as tbl))');
xml := dbms_xmlgen.getxml(ctx);
dbms_xmlgen.closecontext(ctx);
return xml;
end;