我需要从oracle-database创建以下xml结构 每个调查可以有多个参与者。 我不确定使用XMLElement创建它而不会收到消息“ORA-01427 subsquery返回多行一行” 我可以尝试使用dbms_xmldom(之前从未这样做过)但我想知道是否有人知道如何使用普通的Oracle SQL-XML函数(XMLElement,XMLAggr)生成它
<NieuweSurveys>
<Survey>
<Surveynaam>2013-02-01</Surveynaam>
<Startdatum>2013-02-01</Startdatum>
<Einddatum>2013-02-15</Einddatum>
<Deelnemer>
<Voornaam>Tilde</Voornaam>
<Tussenvoegsel/>
<Achternaam>DeelnemerA</Achternaam>
<Geslacht>man</Geslacht>
<Emailadres>tilde.deelnemer.a@tjip.com</Emailadres>
<Voorkeurstaal>nl</Voorkeurstaal>
<Account>Schouten & Nelisen</Account>
<Functie>bouwer</Functie>
</Deelnemer>
<Deelnemer>
<Voornaam>Tilde</Voornaam>
<Tussenvoegsel/>
<Achternaam>DeelnemerB</Achternaam>
<Geslacht>vrouw</Geslacht>
<Emailadres>tilde.deelnemer.b@tjip.com</Emailadres>
<Voorkeurstaal>nl</Voorkeurstaal>
<Account>Schouten & Nelisen</Account>
<Functie>tester</Functie>
</Deelnemer>
</Survey>
</NieuweSurveys>
答案 0 :(得分:0)
假设所有数据都来自名为dataview的单个表(或视图)......
我认为你需要在那里使用XMLForest。例如,
Create or Replace VIEW dataviewxml as
Select
XMLElement("NieuweSurveys",
XMLForest(d.Surveynaam as Surveynaam, d.Startdatum as Startdatum, d.Eindatum as Eindatum,
XMLForest(d.Voornaam as Voornaam, d.Tussenvoegsel as Tussenvoegsel
) as "Deelnemer"
) as "Survey"
) as "Result"
from dataview d;
答案 1 :(得分:0)
将XQuery表达式与SQL / XML标准函数XMLQuery
或XMLTable
一起使用。
以下是两个与从关系数据构造XML相关的示例: