生成されたXMLを印刷できるようにするには、varchar2(2000)よりもはるかに大きなものが必要です。dbms_output.put_line(x)よりも優れたアプローチを推奨するか、結果を格納してから出力するために別のデータ型を推奨します。私はOracleの初心者であり、フルタイムの仕事はUI開発です。
declare
v_ctx dbms_xmlgen.ctxHandle;
x varchar2(2000); -- I need something bigger than varchar2(2000)
begin
v_ctx := DBMS_XMLGen.newContext('
select
baz as "Baz"
from schema.table_with_10000_rows');
DBMS_XMLGen.setRowsetTag(v_ctx, 'Foo');
DBMS_XMLGen.setRowTag(v_ctx, 'Bar');
x := dbms_xmlgen.getxml(v_ctx);
dbms_output.put_line(x);
end;