如何在存储过程中生成XML OutPut

时间:2011-03-01 05:07:35

标签: xml oracle

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

你能帮助我们吗

谢谢!

2 个答案:

答案 0 :(得分:3)

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>

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

答案 1 :(得分:2)

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

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

相关问题