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

 

結果を表示するための Interactive SQL の使用

FOR XML クエリの結果は文字列で返されます。多くの場合、文字列の結果は長くなります。Interactive SQL には、[ウィンドウで表示] オプションを使用して整形式 XML 文書の構造を表示する機能があります。

FOR XML クエリの結果は、<?xml?> タグを含め、任意でタグのペアで囲んで (<root>...</root> など)、整形式 XML 文書にキャストできます。次のクエリは、これを行う方法を示します。



SELECT XMLCONCAT( CAST('<?xml version="1.0"?>' AS XML), 
  XMLELEMENT( NAME root, (
    SELECT
          1          AS tag,
          NULL       AS parent,
          EmployeeID AS [employee!1!employeeID],
          NULL       AS [customer!2!customerID],
          NULL       AS [customer!2!region],
          NULL       AS [custname!3!given_name!element],
          NULL       AS [custname!3!surname!element]
    FROM Employees
    UNION DISTINCT 
    SELECT
          2,
          1,
          EmployeeID,
          CustomerID,
          Region,
          NULL,
          NULL
    FROM Employees KEY JOIN SalesOrders
    UNION DISTINCT 
    SELECT
          3,
          2,
          EmployeeID,
          CustomerID,
          NULL,
          Customers.GivenName,
          Customers.SurName
    FROM SalesOrders 
    JOIN Customers 
        ON SalesOrders.CustomerID = Customers.ID 
    JOIN Employees 
        ON SalesOrders.SalesRepresentative = Employees.EmployeeID 
    ORDER BY 3, 4, 1
    FOR XML EXPLICIT
  ) ) 
);

Interactive SQL のカラムの [トランケーションの長さ] の値は、カラム全体をフェッチできる大きさに設定する必要があります。これは、[ツール]  » [オプション] メニューを使用するか、次のような Interactive SQL 文を実行して行うことができます。

SET OPTION truncation_length = 80000;

XML 文書の結果を表示するには、[結果] ウィンドウ枠でカラムの内容をダブルクリックし、[XML アウトライン] タブを選択します。

 参照