XQuery 言語リファレンス (SQL Server)
適用対象:SQL Server (サポートされているすべてのバージョン)
Transact-SQLは、xml データ型のクエリに使用される XQuery 言語のサブセットをサポートしています。 この XQuery の実装は、XQuery の 2004 年 7 月の作業ドラフトに合わせて調整されています。 言語は、すべての主要なデータベース ベンダー World Wide Web コンソーシアム Microsoft も参加して、World Wide Web コンソーシアム (W3C) によって開発中です。 W3C 仕様は W3C の推奨事項になる前に将来の改訂が行う可能性があります。ため、この実装は最終的な推奨事項とは異なる場合があります。 このトピックでは、このトピックでサポートされている XQuery のサブセットのセマンティクスと構文について説明SQL Server。
詳細については、 W3C XQuery 1.0 言語仕様に関するページを参照してください。
XQuery は、構造化または半構造化 XML データに対してクエリを実行できる言語です。 データベース エンジン で提供される xml データ型のサポートにより、ドキュメントをデータベースに格納し、XQuery を使用してクエリを実行できます。
XQuery は既存の XPath クエリ言語に基づいており、イテレーションの向上、結果の並べ替えの向上、および必要な XML の構築機能のサポートが追加されています。 XQuery は XQuery データ モデルで動作します。 これは XML ドキュメントの抽象化であり、型指定または型指定を解除できる XQuery の結果です。 型情報は W3C XML Schema 言語によって提供される型に基づきます。 使用できる入力情報がない場合、XQuery はデータを型指定されていないデータとして処理します。 これは、XPath バージョン 1.0 で XML を処理する方法と似ています。
xml 型の変数または列に格納されている XML インスタンスに対してクエリを実行するには、 xml データ型メソッドを使用します。 たとえば、xml 型の変数を宣言し、 xml データ型の query() メソッドを使用してクエリ を 実行できます。
DECLARE @x xml
SET @x = '<ROOT><a>111</a></ROOT>'
SELECT @x.query('/ROOT/a')
次の例では、AdventureWorks データベースの ProductModel テーブルの xml 型の Instructions 列に対してクエリが指定されています。
SELECT Instructions.query('declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
/AWMI:root/AWMI:Location[@LocationID=10]
') as Result
FROM Production.ProductModel
WHERE ProductModelID=7
XQuery には、名前空間宣言 、 declare namespace``AWMI=...
およびクエリ式 が含まれています /AWMI:root/AWMI:Location[@LocationID=10]
。
XQuery は xml 型の Instructions 列に対して 指定 されます。 xml データ型の query() メソッドは、XQuery を指定するために使用されます。
次の表は、次の表に示す XQuery の実装を理解するのに役立つ関連トピックの一覧データベース エンジン。
トピック | 説明 |
---|---|
XML データ (SQL Server) | データ型での xmldata 型のサポートデータベース エンジンこのデータ型に対して使用できるメソッドについて説明します。 xml データ 型は、XQuery 式が実行される入力 XQuery データ モデルを形成します。 |
XML スキーマ コレクション (SQL Server) | データベースに格納されている XML インスタンスを型指定する方法について説明します。 つまり、XML スキーマ コレクションを xml 型の列 に関連 付けできます。 列に格納されているインスタンスはすべて検証され、コレクション内のスキーマに対して型指定され、XQuery の型情報が提供されます。 |
Note
このセクションの構成は、W3C (World Wide Web Consortium) XQuery ワーキング ドラフト仕様に基づいています。 このセクションで提供する図の一部は、その仕様から引用したものです。 このセクションでは、Microsoft XQuery の実装と W3C 仕様を比較し、Microsoft XQuery と W3C の違いについて説明し、サポートされていない W3C 機能を示します。 W3C 仕様は で使用できます http://www.w3.org/TR/2004/WD-xquery-20040723。
このセクションの内容
トピック | 説明 |
---|---|
XQuery の基礎 | XQuery の概念の基本的な概要と、式の評価 (静的コンテキストと動的コンテキスト)、アトマイズ、有効なブール値、XQuery 型システム、シーケンス型の照合、およびエラー処理も提供します。 |
XQuery 式 | XQuery 原始式、パス式、シーケンス式、算術式、比較式、論理式、XQuery の構築、FLWOR 式、条件式、量化式、およびシーケンス型のさまざまな式について説明します。 |
モジュールとプロローグ (XQuery) | XQuery プロログについて説明します。 |
xml データ型に対する XQuery 関数 | サポートされている XQuery 関数の一覧について説明します。 |
xml データ型に対する XQuery の演算子 | サポートされている XQuery 演算子について説明します。 |
xml データ型に対する XQuery のその他のサンプル | XQuery の追加サンプルを提供します。 |
参照
XML データ (SQL Server)
XML スキーマ コレクション (SQL Server)
XML ドキュメントの一括インポートと一括エクスポートの例 (SQL Server)