SQL Anywhere unterstützt zwei verschiedene Methoden, um Abfrageergebnisse von Ihren relationalen Daten als XML zu erhalten:
FOR XML-Klausel Die FOR XML-Klausel können Sie in einer SELECT-Anweisung verwenden, um ein XML-Dokument zu generieren.
Hinweise zur Verwendung der FOR XML-Klausel finden Sie unter Mit der FOR XML-Klausel Abfrageergebnisse als XML abrufen und SELECT-Anweisung.
SQL/XML SQL Anywhere unterstützt Funktionen, die auf dem Draft-Standard SQL/XML basieren und XML-Dokumente aus relationalen Daten generieren.
Hinweise, wie Sie eine oder mehrere dieser Funktionen in einer Abfrage verwenden, finden Sie unter SQL/XML verwenden, um Abfrageergebnisse 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"/> |
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
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |