1

各調査で複数の参加者ができる oracle データベースから次の xml 構造を作成する必要があります。「ORA-01427サブクエリが複数の行を返します」というメッセージを表示せずにXMLElementを使用してこれを作成するかどうかはわかりません。プレーンな 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>
4

2 に答える 2

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;
于 2013-08-13T14:01:09.597 に答える