我需要将数据从PL / SQL函数返回到在REST API上实现的Web服务。我正在开发运行循环的PL / SQL函数,并将所需的数据收集到PL / SQL表类型中。现在,我需要以Web服务可以使用的方式返回此数据。我打算使用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;