如何在存储过程中生成XML输出

如何在存储过程中生成XML输出,xml,oracle,Xml,Oracle,我将在存储过程中使用SQL查询从数据库中获取少量记录,我的要求是需要将这些记录转换为XML格式,并在同一存储过程中将此XML作为OUT参数发送 你能帮我们吗 谢谢 DBMS_XMLGEN.GETXML可以将查询转换为XML。例如: select DBMS_XMLGEN.GETXML (q'! select 1 value1, 'asdf' value2 from dual union all select 2 value2, 'fdsa' value2 from dual

我将在存储过程中使用SQL查询从数据库中获取少量记录,我的要求是需要将这些记录转换为XML格式,并在同一存储过程中将此XML作为OUT参数发送

你能帮我们吗


谢谢

DBMS_XMLGEN.GETXML可以将查询转换为XML。例如:

select DBMS_XMLGEN.GETXML (q'!
    select 1 value1, 'asdf' value2 from dual union all
    select 2 value2, 'fdsa' value2 from dual    
!') from dual;
返回包含以下数据的CLOB:

<?xml version="1.0"?>
<ROWSET>
 <ROW>
  <VALUE1>1</VALUE1>
  <VALUE2>asdf</VALUE2>
 </ROW>
 <ROW>
  <VALUE1>2</VALUE1>
  <VALUE2>fdsa</VALUE2>
 </ROW>
</ROWSET>

1.
asdf
2.
fdsa

在存储过程中,将其选择为OUT CLOB参数。

DBMS\u XMLGEN.GETXML可以将查询转换为XML。例如:

select DBMS_XMLGEN.GETXML (q'!
    select 1 value1, 'asdf' value2 from dual union all
    select 2 value2, 'fdsa' value2 from dual    
!') from dual;
返回包含以下数据的CLOB:

<?xml version="1.0"?>
<ROWSET>
 <ROW>
  <VALUE1>1</VALUE1>
  <VALUE2>asdf</VALUE2>
 </ROW>
 <ROW>
  <VALUE1>2</VALUE1>
  <VALUE2>fdsa</VALUE2>
 </ROW>
</ROWSET>

1.
asdf
2.
fdsa

在存储过程中,将其选择为OUT CLOB参数。

如果您的需求比jonearles建议的仅使用SQL语句更复杂,那么另一个选项是XMLDOM包,它允许您使用PL/SQL创建XML


它比DBMS_XMLGEN更复杂,但也更强大。

如果您的需求比jonearles建议的仅使用SQL语句更复杂,那么另一个选项是XMLDOM包,它允许您使用PL/SQL创建XML


它比DBMS\u XMLGEN更复杂,但也更强大。

Hi Jonearles。。我实现了它,它工作得很好:-)非常感谢你!!嗨,乔恩厄尔斯。。我实现了它,它工作得很好:-)非常感谢你!!到目前为止,上述建议正在发挥作用,如果我遇到任何困难,我也会采纳你的建议。。谢谢:-)截至目前,上述建议之一正在发挥作用,如果我面临任何困难,我也会采纳你的建议。。谢谢:-)