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

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ SQL の使用法 » データベースにおける XML

 

XML としてのクエリ結果

SQL Anywhere は、リレーショナルデータからクエリ結果を XML として取得する 2 種類の方法をサポートしています。

  • FOR XML 句   FOR XML 句を SELECT 文で使用して、XML 文書を生成できます。

  • SQL/XML   SQL Anywhere は、リレーショナルデータから XML 文書を生成する、ドラフト段階の SQL/XML 標準に基づく関数をサポートしています。

SQL Anywhere がサポートする FOR XML 句と SQL/XML 関数により、リレーショナルデータから XML を生成する選択肢が 2 通り提供されます。通常は、どちらかの方法を使用して同じ XML を生成できます。

たとえば、このクエリは、FOR XML AUTO を使用して XML を生成しています。

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

次のクエリは、XMLELEMENT 関数を使用して XML を生成しています。

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

どちらのクエリも次の XML を生成します (結果セットは読みやすいようにフォーマットされています)。

<product ID="302" Name="Tee Shirt"/>
<product ID="400" Name="Baseball Cap"/>
<product ID="501" Name="Visor"/>
<product ID="700" Name="Shorts"/>
 ヒント
 参照

クエリ結果を XML として取り出すための FOR XML 句の使用
FOR XML RAW
FOR XML AUTO
FOR XML EXPLICIT