Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » XML in der Datenbank » XML in der Datenbank benutzen

 

Abfrageergebnisse als XML erhalten

SQL Anywhere unterstützt zwei verschiedene Methoden, um Abfrageergebnisse von Ihren relationalen Daten als XML zu erhalten:

Die FOR XML-Klausel und die von SQL Anywhere unterstützten SQL/XML-Funktionen bieten Ihnen zwei Alternativen, um XML aus Ihren relationalen Daten zu generieren. In den meisten Fällen wird, unabhängig von Ihrer Wahl, dasselbe XML generiert.

Beispiel: Diese Abfrage verwendet FOR XML AUTO, um XML zu generieren:

SELECT ID, Name
FROM Products
WHERE Color='black'
FOR XML AUTO;

Die folgende Abfrage hingegen verwendet die XMLELEMENT-Funktion, um XML zu generieren:

SELECT XMLELEMENT(NAME product,
          XMLATTRIBUTES(ID, Name))
FROM Products
WHERE Color='black';

Beide Abfragen generieren den folgenden XML-Code (die Ergebnismenge wurde formatiert, damit sie leichter lesbar wird):

<product ID="302" Name="Tee Shirt"/>
<product ID="400" Name="Baseball Cap"/>
<product ID="501" Name="Visor"/>
<product ID="700" Name="Shorts"/>
Tipp

Wenn Sie tief-verschachtelte Dokumente generieren, wird eine FOR XML EXPLICIT-Abfrage wahrscheinlich effizienter als eine SQL/XML-Abfrage sein, weil Abfragen im EXPLICIT-Modus normalerweise mit UNION die Verschachtelung generieren, während SQL/XML Unterabfragen verwendet, um die erforderliche Verschachtelung zu erzeugen.


Mit der FOR XML-Klausel Abfrageergebnisse als XML abrufen
FOR XML RAW verwenden
FOR XML AUTO verwenden
FOR XML EXPLICIT verwenden